用法:
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
相關用法
- Python pandas.DataFrame.divide用法及代碼示例
- Python pandas.DataFrame.div用法及代碼示例
- Python pandas.DataFrame.dot用法及代碼示例
- Python pandas.DataFrame.dtypes用法及代碼示例
- Python pandas.DataFrame.drop用法及代碼示例
- Python pandas.DataFrame.duplicated用法及代碼示例
- Python pandas.DataFrame.drop_duplicates用法及代碼示例
- Python pandas.DataFrame.dropna用法及代碼示例
- Python pandas.DataFrame.describe用法及代碼示例
- Python pandas.DataFrame.droplevel用法及代碼示例
- Python pandas.DataFrame.ewm用法及代碼示例
- Python pandas.DataFrame.apply用法及代碼示例
- Python pandas.DataFrame.combine_first用法及代碼示例
- Python pandas.DataFrame.cumsum用法及代碼示例
- Python pandas.DataFrame.rename用法及代碼示例
- Python pandas.DataFrame.to_numpy用法及代碼示例
- Python pandas.DataFrame.cummin用法及代碼示例
- Python pandas.DataFrame.truncate用法及代碼示例
- Python pandas.DataFrame.sparse.from_spmatrix用法及代碼示例
- Python pandas.DataFrame.add_prefix用法及代碼示例
注:本文由純淨天空篩選整理自pandas.pydata.org大神的英文原創作品 pandas.DataFrame.diff。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。