熊猫:从每周到每天重新采样(偏移量)

时间:2019-04-29 10:18:48

标签: python pandas

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

注意:2018年1月7日和2018年1月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

我做错了什么?

1 个答案:

答案 0 :(得分:2)

您可以通过为offset减去datetime来手动添加最后一行:

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