以下是一个示例代码,用于比较两个数据帧的不同列,并将匹配的列进行标记。
import pandas as pd
# 创建示例数据帧
df1 = pd.DataFrame({'A': [1, 2, 3],
'B': [4, 5, 6],
'C': [7, 8, 9]})
df2 = pd.DataFrame({'A': [1, 3, 5],
'B': [4, 6, 8],
'D': [2, 4, 6]})
# 比较两个数据帧的列名
common_columns = set(df1.columns) & set(df2.columns)
# 标记匹配的列
df1_copy = df1.copy()
df2_copy = df2.copy()
df1_copy['Match'] = df1_copy.columns.isin(common_columns)
df2_copy['Match'] = df2_copy.columns.isin(common_columns)
# 输出结果
print("Dataframe 1:")
print(df1_copy)
print("Dataframe 2:")
print(df2_copy)
输出结果为:
Dataframe 1:
A B C Match
0 1 4 7 True
1 2 5 8 True
2 3 6 9 False
Dataframe 2:
A B D Match
0 1 4 2 True
1 3 6 4 True
2 5 8 6 False
在示例中,首先使用set
和&
操作符获取两个数据帧的共同列名。然后,使用.isin()
方法将匹配的列设置为True
,不匹配的列设置为False
。最后,将带有标记的数据帧输出到控制台。