以下是一个示例代码,演示了如何比较两个数据框并创建一个新列来表示真/假的函数:
import pandas as pd
# 创建两个示例数据框
df1 = pd.DataFrame({'A': [1, 2, 3, 4],
'B': ['a', 'b', 'c', 'd']})
df2 = pd.DataFrame({'A': [1, 2, 5, 6],
'B': ['a', 'b', 'e', 'f']})
# 使用merge函数比较两个数据框
merged_df = pd.merge(df1, df2, on='B', how='left', suffixes=('_df1', '_df2'))
# 创建一个新列来表示真/假
merged_df['IsMatch'] = merged_df['A_df1'] == merged_df['A_df2']
print(merged_df)
输出结果为:
A_df1 B A_df2 IsMatch
0 1 a 1.0 True
1 2 b 2.0 True
2 3 c NaN False
3 4 d NaN False
在这个示例中,我们首先创建了两个示例数据框df1和df2。然后使用merge函数将它们合并在一起,根据列B进行连接,并使用left join保留df1的所有行。我们使用suffixes参数来区分两个数据框中重复的列名。
最后,我们创建了一个新列IsMatch,将其设置为两个数据框中对应行A列的值是否相等的布尔值。如果相等,则为True,否则为False。