亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

重采樣錯誤:ValueError:無法使用方法或限制重新索引非唯一索引

重采樣錯誤:ValueError:無法使用方法或限制重新索引非唯一索引

鳳凰求蠱 2022-11-01 17:08:15
我的數據框如下所示:    timestamp2020-03-01 01:11:42.520      -674.02020-03-01 02:00:48.778      -700.02020-03-01 02:00:58.850      -702.02020-03-01 11:45:23.741     -1249.02020-03-02 01:56:51.021     -1229.02020-03-02 01:56:51.021      -917.02020-03-02 01:56:51.021      -837.0我嘗試做的是以下內容:cum = (orders[['cum']]        .resample('1S')        .bfill()        .fillna('ffill')      )但是后來我收到標題錯誤消息,知道這意味著什么嗎?謝謝您的幫助!
查看完整描述

1 回答

?
大話西游666

TA貢獻1817條經驗 獲得超14個贊

一個想法是首先過濾重復的索引值以進行重新采樣,就像您的解決方案一樣,然后過濾重復到added系列,按樓層更改索引并通過排序添加到原始索引值:


print (orders)

                            cum

timestamp                      

2020-03-01 01:11:42.520  -674.0

2020-03-01 02:00:48.778  -700.0

2020-03-01 02:00:58.850  -702.0

2020-03-01 11:45:23.741 -1249.0

2020-03-02 01:56:51.021 -1229.0

2020-03-02 01:56:51.021  -917.0

2020-03-02 01:56:51.021  -837.0

2020-03-02 01:56:54.021   -67.0


mask = orders.index.duplicated()

cum = (orders.loc[~mask, 'cum']

        .resample('1S')

        .bfill()

        .ffill()

      )

added = orders.loc[mask, 'cum']

added.index = added.index.floor('S')

cum = added.append(cum).sort_index()

print (cum.tail(10))

timestamp

2020-03-02 01:56:47   -1229.0

2020-03-02 01:56:48   -1229.0

2020-03-02 01:56:49   -1229.0

2020-03-02 01:56:50   -1229.0

2020-03-02 01:56:51   -1229.0

2020-03-02 01:56:51    -917.0

2020-03-02 01:56:51    -837.0

2020-03-02 01:56:52     -67.0

2020-03-02 01:56:53     -67.0

2020-03-02 01:56:54     -67.0

Name: cum, dtype: float64


查看完整回答
反對 回復 2022-11-01
  • 1 回答
  • 0 關注
  • 140 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號