计算周期或行之间的增加



我有一个类似的数据框架:

year    quarter   value
 2000    Q1       10
 2000    Q2       12
 2000    Q3       13
 2000    Q4       13
 2001    Q1       14
 2001    Q2       15
 2001    Q3       16
 2001    Q4       12

我想计算不同年份相同季度之间的差异2001q1-2000q1,在这种情况下14-10 = 4。

我该如何以通用的方式进行,例如,如果我想计算2个季度而不是4个季度?

您可以将周期数传递给 DataFrame.diff

In [18]: df['value'].diff(4)
Out[18]: 
0   NaN
1   NaN
2   NaN
3   NaN
4     4
5     3
6     3
7    -1
Name: value, dtype: float64

我也建议将年度和四分之一列组合到一个DatetimeIndex中,但这不是严格的。

最新更新