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

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

Pandas 時間序列重新采樣,分箱似乎關閉

Pandas 時間序列重新采樣,分箱似乎關閉

Go
慕妹3146593 2021-09-11 20:11:38
當我注意到這種奇怪的分箱時,我正在用我認為知道的有關大熊貓的一些東西回答另一個問題,即時間序列重采樣。假設我有一個包含每日日期范圍索引的數據框和一個我想要重新采樣和求和的列。index = pd.date_range(start="1/1/2018", end="31/12/2018") df = pd.DataFrame(np.random.randint(100, size=len(index)),                   columns=["sales"], index=index)>>> df.head()            sales2018-01-01     662018-01-02     182018-01-03     452018-01-04     922018-01-05     76現在我重新采樣一個月,一切看起來都很好:>>>df.resample("1M").sum()            sales2018-01-31   15072018-02-28   11862018-03-31   1382[...]2018-11-30   13422018-12-31   1337如果我嘗試在更多個月內重新采樣,盡管分箱開始出現問題。這一點尤其明顯6Mdf.resample("6M").sum()                                                                       sales2018-01-31   15072018-07-31   83932019-01-31   7283第一個 bin 跨越一個多月,最后一個 bin 跨度為一個月。也許我必須設置closed="left"以獲得適當的限制:df.resample("6M", closed="left").sum()                                                        sales2018-06-30   80902018-12-31   90542019-06-30     39現在我在 2019 年有一個額外的垃圾箱,里面有來自 2018-12-31 的數據......這工作正常嗎?我錯過了我應該設置的任何選項嗎?編輯:這是我希望以六個月為間隔重新采樣一年的輸出,第一個間隔從 1 月 1 日到 6 月 30 日,第二個間隔從 7 月 1 日到 12 月 31 日。df.resample("6M", closed="left").sum()                                                        sales2018-06-30   80902018-12-31   9093 # 9054 + 39請注意,這里也有一些關于 6 月 30 日數據發生了什么的疑問,它是像我期望的那樣進入第一個垃圾箱還是第二個?我的意思是最后一個垃圾箱很明顯,但同樣的情況可能發生在所有垃圾箱中。
查看完整描述

2 回答

?
天涯盡頭無女友

TA貢獻1831條經驗 獲得超9個贊

添加np.random.seed(365)以檢查我們的兩個輸出。


print(df.resample("6M", kind='period').sum())


         sales

2018-01   8794

2018-07   9033

這對你有用嗎?


查看完整回答
反對 回復 2021-09-11
  • 2 回答
  • 0 關注
  • 214 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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