當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。