要比较数据帧的列,可以使用以下代码示例中的方法:
import pandas as pd
# 创建数据帧1
data1 = {'A': [1, 2, 3, 4],
'B': [5, 6, 7, 8]}
df1 = pd.DataFrame(data1)
# 创建数据帧2
data2 = {'A': [1, 2, 3, 4],
'B': [5, 10, 7, 8]}
df2 = pd.DataFrame(data2)
# 比较两个数据帧的列
# 方法1: 使用equals()函数比较两个数据帧的列是否完全相同
print(df1.equals(df2)) # 输出False
# 方法2: 使用all()函数逐列比较两个数据帧的元素是否相同
print((df1 == df2).all()) # 输出A True\nB False\ndtype: bool
# 方法3: 使用any()函数逐列比较两个数据帧的元素是否存在差异
print((df1 != df2).any()) # 输出A False\nB True\ndtype: bool
以上代码示例中,我们创建了两个数据帧df1
和df2
,它们具有相同的列名'A'
和'B'
,但df2
的列'B'
中的元素有所不同。然后,我们使用三种不同的方法来比较这两个数据帧的列。
方法1使用了equals()
函数来判断两个数据帧是否完全相同,如果完全相同,则返回True
,否则返回False
。
方法2使用了(df1 == df2).all()
来逐列比较两个数据帧的元素是否相同。该表达式返回一个布尔值的数据帧,其中的元素表示对应位置的两个数据帧元素是否相同。然后使用all()
函数来判断每列是否都为True
,如果是,则表示两个数据帧的列完全相同。
方法3使用了(df1 != df2).any()
来逐列比较两个数据帧的元素是否存在差异。该表达式返回一个布尔值的数据帧,其中的元素表示对应位置的两个数据帧元素是否不同。然后使用any()
函数来判断每列是否存在差异,如果是,则表示两个数据帧的列存在差异。
下一篇:比较数据帧的列并返回差异的扩展