Pandas 数据帧diff()方法

原文:https://www.studytonight.com/pandas/pandas-dataframe-diff-method

在本教程中,我们将学习 PandasDataFrame.diff()T3】法。它提供了元素的第一个离散差异。它计算数据帧元素与数据帧中另一个元素的差异(默认值是前一行中的元素)。

下图显示了DataFrame.diff()方法的语法。

句法

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

因素

周期: int,默认 1。用于计算差值的移动周期接受负值。

轴: {0 或'索引',1 或'列' },默认为 0。对行(0)或列(1)求差。

示例 1:使用DataFrame.diff()方法计算差值

以下示例显示了与数据帧的前一行的区别。

import pandas as pd
df = pd.DataFrame({'a': [1, 3, 8],'b': [3, 5, 8],'c': [16, 25, 36]})
print("------DataFrame-------")
print(df)
print("------Difference with previous row------ ")
print(df.diff())

Once we run the program we will get the following output.

-数据帧- a b c 0 1 3 16 1 3 5 25 2 8 8 36 -与前一行的差异- a b c 0 NAn NAn 1 2.0 2.0 9.0 2 5.0 3.0 11.0

示例 2:使用DataFrame.diff()方法计算差值

以下示例显示了数据帧的前一列之间的差异。

import pandas as pd
df = pd.DataFrame({'a': [1, 3, 8],'b': [3, 5, 8],'c': [16, 25, 36]})
print("------DataFrame-------")
print(df)
print("------Difference with previous columns------ ")
print(df.diff(axis=1))

一旦我们运行该程序,我们将获得以下输出。

-数据帧- a b c 0 1 3 16 1 3 5 25 2 8 8 36 -与前几列的差异- a b c 0 NAn 2.0 13.0 1 NAn 2.0 20.0 2 NAn 0.0 28.0

示例 3:使用DataFrame.diff()方法计算差值

下面的示例显示了与数据帧的第二个前一行的区别。

import pandas as pd
df = pd.DataFrame({'a': [1, 3, 8, 5],'b': [3, 5, 8, 6],'c': [16, 25, 36, 20]})
print("------DataFrame-------")
print(df)
print("------Difference with 2nd previous rows ------ ")
print(df.diff(periods=2))

一旦我们运行该程序,我们将获得以下输出。

-数据帧- a b c 0 1 3 16 1 3 5 25 2 8 8 36 3 5 6 20 -与前面第 2 行的差异- a b c 0 NAn NAn 1 NAn NAn 2 7.0 5.0 20.0 3 2.0 1.0-5.0

示例 4:使用DataFrame.diff()方法计算差值

以下示例显示了与数据帧的前三行的区别。

import pandas as pd
df = pd.DataFrame({'a': [1, 3, 8, 5, 6],'b': [3, 5, 8, 6, 7],'c': [16, 25, 36, 20, 25]})
print("------DataFrame-------")
print(df)
print("------Difference with 3rd previous rows ------ ")
print(df.diff(periods=3))

一旦我们运行该程序,我们将获得以下输出。

-数据帧- a b c 0 1 3 16 1 3 5 25 2 8 8 36 3 5 6 20 4 6 7 25 -与前面第 3 行的差异- a b c 0 NAn NAn 1 NAn NAn 2 NAn NAn 3 4.0 3.0 4.0 4 3.0 2.0

结论

在本教程中,我们学习了 PandasDataFrame.diff()方法。我们通过在数据帧上应用这种方法来学习语法、参数和解决示例,并理解了这种方法。