📜  如何在 Pandas 中找到两行之间的差异?(1)

📅  最后修改于: 2023-12-03 15:08:44.026000             🧑  作者: Mango

如何在 Pandas 中找到两行之间的差异?

如果您想在 Pandas 数据帧中查找两行之间的差异,可以使用diff()函数。

diff()函数可以计算两个相邻的元素之间的差异,并返回一个数据帧。

示例代码如下:

import pandas as pd

df = pd.DataFrame({'A':[1,2,3,4,5],'B':[2,3,3,3,3]})

# 计算两行之间的差异
diff_df = df.diff()

print(diff_df)

输出结果:

     A    B
0  NaN  NaN
1  1.0  1.0
2  1.0  0.0
3  1.0  0.0
4  1.0  0.0

上述代码中,diff()函数计算了相邻行的差异,并返回一个新的数据帧。

在上面的例子中,数据帧df包含两列AB,并且有5行数据。diff_df数据帧显示了每个相邻行之间的差异。

在代码中,diff()函数的默认行为是计算每个元素与前一个元素之间的差异。如果您想计算每个元素与后一个元素之间的差异,则可以将diff()函数的periods参数设置为负整数。

import pandas as pd

df = pd.DataFrame({'A':[1,2,3,4,5],'B':[2,3,3,3,3]})

# 计算两行之间的差异(相邻行之间)
diff_df = df.diff()

# 计算两行之间的差异(相邻行之后)
diff_df2 = df.diff(periods=-1)

print(diff_df)
print(diff_df2)

上述代码输出结果如下:

     A    B
0  NaN  NaN
1  1.0  1.0
2  1.0  0.0
3  1.0  0.0
4  1.0  0.0

     A    B
0 -1.0 -1.0
1 -1.0  0.0
2 -1.0  0.0
3 -1.0  0.0
4  NaN  NaN

在上述代码中,我们使用periods=-1参数将diff()函数的行为更改为计算每个元素与后一个元素之间的差异。这导致在新的数据帧中,最后一行变为NaN