繁体   English   中英

Pandas:从每周重新采样到每天,并带有偏移量

[英]Pandas: Resample from weekly to daily with offset

我想从每周到每天重新采样以下数据ffill ,然后ffill缺失值。

注:2018-01-07 和 2018-01-14 为星期日。

         Date  Val
0  2018-01-07    1
1  2018-01-14    2

我试过。

df.Date = pd.to_datetime(df.Date)
df.set_index('Date', inplace=True)
offset = pd.offsets.DateOffset(-6)

df.resample('D', loffset=offset).ffill()

            Val
Date           
2018-01-01    1
2018-01-02    1
2018-01-03    1
2018-01-04    1
2018-01-05    1
2018-01-06    1
2018-01-07    1
2018-01-08    2

但我想要

         Date  Val
0  2018-01-01    1
1  2018-01-02    1
2  2018-01-03    1
3  2018-01-04    1
4  2018-01-05    1
5  2018-01-06    1
6  2018-01-07    1
7  2018-01-08    2
8  2018-01-09    2
9  2018-01-10    2
10 2018-01-11    2
11 2018-01-12    2
12 2018-01-13    2
13 2018-01-14    2

我做错了什么?

您可以使用减去datetime offset手动添加新的最后一行:

df.loc[df.index[-1] - offset] = df.iloc[-1]
df = df.resample('D', loffset=offset).ffill()
print (df)
            Val
Date           
2018-01-01    1
2018-01-02    1
2018-01-03    1
2018-01-04    1
2018-01-05    1
2018-01-06    1
2018-01-07    1
2018-01-08    2
2018-01-09    2
2018-01-10    2
2018-01-11    2
2018-01-12    2
2018-01-13    2
2018-01-14    2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM