当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python pandas.DataFrame.diff用法及代码示例


用法:

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

元素的第一个离散差。

计算 Dataframe 元素与 Dataframe 中另一个元素的差异(默认为上一行中的元素)。

参数

periods整数,默认 1

用于计算差异的周期,接受负值。

axis{0 或 ‘index’,1 或 ‘columns’},默认 0

取行 (0) 或列 (1) 的差异。

返回

DataFrame

系列的第一个区别。

注意

对于布尔数据类型,这使用 operator.xor() 而不是 operator.sub() 。结果是根据 Dataframe 中的当前 dtype 计算的,但结果的 dtype 始终为 float64。

例子

与上一行的区别

>>> df = pd.DataFrame({'a':[1, 2, 3, 4, 5, 6],
...                    'b':[1, 1, 2, 3, 5, 8],
...                    'c':[1, 4, 9, 16, 25, 36]})
>>> df
   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()
     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)
    a  b   c
0 NaN  0   0
1 NaN -1   3
2 NaN -1   7
3 NaN -1  13
4 NaN  0  20
5 NaN  2  28

与前三行的区别

>>> df.diff(periods=3)
     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)
     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

输入数据类型溢出

>>> df = pd.DataFrame({'a':[1, 0]}, dtype=np.uint8)
>>> df.diff()
       a
0    NaN
1  255.0

相关用法


注:本文由纯净天空筛选整理自pandas.pydata.org大神的英文原创作品 pandas.DataFrame.diff。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。