簡體   English   中英

Pandas 下采樣問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM