簡體   English   中英

熊貓-如果不是頻率的倍數,請重新采樣?

[英]Pandas - Resample when not multiple of frequency?

我有1204天的每日頻率時間序列。 我想在365D的基礎上對其進行重采樣(通過求和),但時間范圍跨3,29 * 365D,而不是365D的倍數。 默認情況下,重采樣返回4行。

這是原始數據:

DATE
2012-08-12    15350.0
2012-08-19    11204.0
2012-08-26    11795.0
2012-09-02    15160.0
2012-09-09     9991.0
2012-09-16    12337.0
2012-09-23    10721.0
2012-09-30     9952.0
2012-10-07    11903.0
2012-10-14     8537.0
               ...   
2015-09-27    14234.0
2015-10-04    17917.0
2015-10-11    13610.0
2015-10-18     8716.0
2015-10-25    15191.0
2015-11-01     8925.0
2015-11-08    13306.0
2015-11-15     8884.0
2015-11-22    11527.0
2015-11-29     6859.0

df.index.max() - df.index.min()
Timedelta('1204 days 00:00:00')

如果我申請:

df.resample('365D').sum()

我有:

DATE
2012-08-12    536310.0
2013-08-12    555016.0
2014-08-12    569548.0
2015-08-12    245942.0
Freq: 365D, dtype: float64

似乎最后一個垃圾箱是覆蓋不到365天的垃圾箱。 如何強制重新采樣以將其從結果中排除?

df.resample('365D')在索引的最低一天開始采樣。 因此,最后一個垃圾桶幾乎不會全天候覆蓋。 只是跳過它

df.resample('365D').sum()[:-1]

您也可以考慮在年初/年底進行抽樣

df.resample('A').sum()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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