我有一個由每小時數據組成的系列。我想計算每日總和。數據可能缺少小時數,有時還缺少日期。2017-02-01 00:00:00 3.02017-02-01 01:00:00 4.02017-02-01 02:00:00 4.02017-02-03 00:00:00 3.0例如,在上面 2017-02-01 的時間序列中,只有前三個小時的數據存在。其余 21 小時數據丟失。2017-02-02 的數據完全缺失。我不在乎錯過的時間。每日總和應該考慮一天中存在的任何數據(在示例中,它應該考慮小時 0、1、2)。但是,如果某個日期完全缺失,我應該將 NaN 作為該日期的總和。resample() 后跟 sum() 適用于 #1。但它為 #2 返回 0。2017-02-01 110.02017-02-02 0.02017-02-03 3.0這是虛擬代碼:my_series.resample('1D',closed='left',label='left').sum()我如何告訴 resample(),不要為缺失的日期設置 0?
1 回答

波斯汪
TA貢獻1811條經驗 獲得超4個贊
使用min_count=1在sum:
min_count : int, default 0
執行操作所需的有效值數。如果存在少于 min_count 的非 NA 值,則結果將為 NA。
0.22.0 新版功能: 添加默認值為 0。這意味著全 NA 或空系列的總和為 0,全 NA 或空系列的乘積為 1。
a = my_series.resample('1D',closed='left',label='left').sum(min_count=1)
print (a)
2017-02-01 11.0
2017-02-02 NaN
2017-02-03 3.0
Freq: D, Name: a, dtype: float64
添加回答
舉報
0/150
提交
取消