[英]How to resample irregular time series to daily frequency and have it span to today?
我有一個不規則間隔(相對於時間頻率)的pandas數據幀。 我可以使用resample命令成功地將數據幀上采樣到每日頻率,但我的問題是重采樣在最后一次(預重采樣)數據觀察結束。 我希望重新采樣一直延伸到今天的日期。
例如,這是不規則的數據幀:
data
Out[1]:
Var 1 Var 2 Var 3 Var 4
Dates
2017-09-20 16.0 1.328125 1.375 0.135976
2017-12-13 16.0 1.343750 1.375 0.085391
2018-03-21 15.0 2.191667 2.125 0.274946
2018-06-13 15.0 2.241667 2.375 0.208452
2018-09-26 16.0 4.312500 2.375 0.111803
2018-12-19 17.0 4.279412 2.375 0.083026
2019-03-20 17.0 3.507353 2.375 0.179358
我用了
dset = data.resample('D', convention = 'end').ffill()
結果(尾端)
dset.tail()
Out[2]:
Var 1 Var 2 Var 3 Var 4
Dates
2019-03-16 17.0 4.279412 2.375 0.083026
2019-03-17 17.0 4.279412 2.375 0.083026
2019-03-18 17.0 4.279412 2.375 0.083026
2019-03-19 17.0 4.279412 2.375 0.083026
2019-03-20 17.0 3.507353 2.375 0.179358
這是偉大的,除了最后的“上采樣”在3/20/2019結束,但我希望它在4/13/2019(今天的日期)結束。 正如您所看到的,我所采用的重新采樣類型是簡單地從不規則系列中獲取數據並每天重復這一數據直到下一個(不規則的)數據點,從中重復新的觀察直到下一個(不規則的)數據點等
我確信我正在做一些愚蠢/不添加命令的簡單附錄。 如果可能的話,我寧願呆在熊貓里面。
我想完成的數據是這樣的:
dset.tail()
Out[2]:
Var 1 Var 2 Var 3 Var 4
Dates
2019-03-20 17.0 3.507353 2.375 0.179358
2019-03-21 17.0 3.507353 2.375 0.179358
2019-03-22 17.0 3.507353 2.375 0.179358
more days, repeated
2019-04-11 17.0 3.507353 2.375 0.179358
2019-04-12 17.0 3.507353 2.375 0.179358
2019-04-13 17.0 3.507353 2.375 0.179358
非常感謝您提供任何幫助/提示。
將DataFrame.reindex
與pandas.date_range
方法一起使用:
dset = data.reindex(
pd.date_range(start=data.index.min(),
end=pd.datetime.today(),
freq='D'),
method='ffill')
[輸出]
Var 1 Var 2 Var 3 Var 4
2017-09-20 16.0 1.328125 1.375 0.135976
2017-09-21 16.0 1.328125 1.375 0.135976
2017-09-22 16.0 1.328125 1.375 0.135976
2017-09-23 16.0 1.328125 1.375 0.135976
2017-09-24 16.0 1.328125 1.375 0.135976
2017-09-25 16.0 1.328125 1.375 0.135976
2017-09-26 16.0 1.328125 1.375 0.135976
2017-09-27 16.0 1.328125 1.375 0.135976
2017-09-28 16.0 1.328125 1.375 0.135976
2017-09-29 16.0 1.328125 1.375 0.135976
...
2019-04-04 17.0 3.507353 2.375 0.179358
2019-04-05 17.0 3.507353 2.375 0.179358
2019-04-06 17.0 3.507353 2.375 0.179358
2019-04-07 17.0 3.507353 2.375 0.179358
2019-04-08 17.0 3.507353 2.375 0.179358
2019-04-09 17.0 3.507353 2.375 0.179358
2019-04-10 17.0 3.507353 2.375 0.179358
2019-04-11 17.0 3.507353 2.375 0.179358
2019-04-12 17.0 3.507353 2.375 0.179358
2019-04-13 17.0 3.507353 2.375 0.179358
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.