[英]Pandas Downsampling Issue
我有一個包含日期和 0 或 1 的兩列的 csv 文件,如下所示:
17/08/2012 07:47:16 0
17/08/2012 07:54:31 1
17/08/2012 08:02:31 0
17/08/2012 09:22:33 0
17/08/2012 09:58:05 0
17/08/2012 12:26:59 1
17/08/2012 20:56:00 0
18/08/2012 10:04:06 0
18/08/2012 10:42:52 0
20/08/2012 07:22:02 0
20/08/2012 07:54:28 0
20/08/2012 08:01:58 0
20/08/2012 08:16:31 1
20/08/2012 08:26:38 0
20/08/2012 08:55:19 1
20/08/2012 09:00:09 0
20/08/2012 09:26:11 0
20/08/2012 09:50:10 0
20/08/2012 10:33:37 0
20/08/2012 10:39:13 0
20/08/2012 10:39:35 1
20/08/2012 11:15:07 1
20/08/2012 11:19:15 0
20/08/2012 11:21:01 0
我將此文件加載到 DataFrame raw_data
,然后將索引更改為 Timestamp :
ts_data=raw_data.set_index(pd.to_datetime(raw_data.when_created,dayfirst=True))
然后我嘗試使用以下方法對數據進行下采樣:
daily_conversions=ts_data.resample('D',how='sum')
它適用於所有日子(有超過 7 個月的日期,這里我只包括一個子集),除了一天我得到這個輸出:
2012-08-20 NaN
從數據中可以看出,這是沒有意義的。 有趣的是,如果我使用更高的頻率(如“h”)進行下采樣,我會在特定日期獲得正確的結果。 對於存在但只有 0 的小時數,我得到不存在的小時數的空值,以及存在但為 ==1 的小時數的正確總和。 請問有什么想法嗎?
經過上面的有用評論后,我意識到出了什么問題。 這只是一個標簽問題。 所以實際上應該返回 NaN 的日期是 19 號,但默認設置是 label='right' 所以它顯示為 20 號。 當我添加 label='left' 它工作正常。 謝謝
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.