Pandas TimeGrouper起始+1

时间:2017-03-10 08:38:48

标签: pandas

我的DataFrame看起来像:

   Date   Count
2017-01-01  1
2017-01-02  2
2017-01-03  3
2017-01-04  4
2017-01-05  5

我希望在1天之后将其转换为下一天的总和:

2017-01-01  5
2017-01-02  7
2017-01-03  9
2017-01-04  na
2017-01-05  na

TimeGrouper(' 2D')可以使用其他参数吗?

1 个答案:

答案 0 :(得分:1)

我认为您可以rolling使用sum,然后使用shift

print (df)
        Date  Count
0 2017-01-01      1
1 2017-01-02      2
2 2017-01-03      3
3 2017-01-04      4
4 2017-01-05      5

print (df.set_index('Date').rolling('2D').sum())
            Count
Date             
2017-01-01    1.0
2017-01-02    3.0
2017-01-03    5.0
2017-01-04    7.0
2017-01-05    9.0

df = df.set_index('Date').rolling('2D').sum().shift(-2).reset_index()
print (df)
        Date  Count
0 2017-01-01    5.0
1 2017-01-02    7.0
2 2017-01-03    9.0
3 2017-01-04    NaN
4 2017-01-05    NaN