mars.dataframe.DataFrame.diff#

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

元素的第一次离散差异。 计算数据框中一个元素与另一个元素的差异(默认是与上一行同列的元素进行比较)。

Parameters
  • periods (int, 默认值 1) – 计算差异时的移位周期,接受负值。

  • axis ({0'index', 1'columns'}, 默认 0) – 在行(0)或列(1)上计算差异。

Return type

数据框

另请参阅

Series.diff

时间序列的首次离散差分。

DataFrame.pct_change

在给定的若干周期内的百分比变化。

数据框.shift

按所需的周期数移位索引,并可选择时间频率。

备注

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

示例

与前一行的区别

>>> import mars.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