maxframe.dataframe.DataFrame.diff#

DataFrame.diff(periods=1, axis=0)#

元素的一阶差分。计算 DataFrame 中某个元素与 DataFrame 中另一个元素的差值(默认为前一行同一列的元素)。

参数:
  • periods (int, default 1) -- 用于计算差值的偏移周期数,可接受负值。

  • axis ({0 or 'index', 1 or 'columns'}, default 0) -- 在行(0)或列(1)上进行差分计算。

返回类型:

DataFrame

参见

Series.diff

Series 的一阶差分。

DataFrame.pct_change

在给定周期数上的百分比变化。

DataFrame.shift

根据指定的周期数(可选时间频率)移动索引。

备注

对于布尔类型的数据,使用 operator.xor() 而不是 operator.sub()

示例

与前一行的差值

>>> import maxframe.dataframe as md
>>> df = md.DataFrame({'a': [1, 2, 3, 4, 5, 6],
...                    'b': [1, 1, 2, 3, 5, 8],
...                    'c': [1, 4, 9, 16, 25, 36]})
>>> df.execute()
   a  b   c
0  1  1   1
1  2  1   4
2  3  2   9
3  4  3  16
4  5  5  25
5  6  8  36
>>> df.diff().execute()
     a    b     c
0  NaN  NaN   NaN
1  1.0  0.0   3.0
2  1.0  1.0   5.0
3  1.0  1.0   7.0
4  1.0  2.0   9.0
5  1.0  3.0  11.0

与前一列的差值

>>> df.diff(axis=1).execute()
    a    b     c
0 NaN  0.0   0.0
1 NaN -1.0   3.0
2 NaN -1.0   7.0
3 NaN -1.0  13.0
4 NaN  0.0  20.0
5 NaN  2.0  28.0

与第前三行的差值

>>> df.diff(periods=3).execute()
     a    b     c
0  NaN  NaN   NaN
1  NaN  NaN   NaN
2  NaN  NaN   NaN
3  3.0  2.0  15.0
4  3.0  4.0  21.0
5  3.0  6.0  27.0

与后一行的差值

>>> df.diff(periods=-1).execute()
     a    b     c
0 -1.0  0.0  -3.0
1 -1.0 -1.0  -5.0
2 -1.0 -1.0  -7.0
3 -1.0 -2.0  -9.0
4 -1.0 -3.0 -11.0
5  NaN  NaN   NaN