使用pandas的merge和drop_duplicates函数进行合并并去重,以查找两个数据框中的相同值。
示例代码:
import pandas as pd
# 创建两个数据框 df1 和 df2
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
df2 = pd.DataFrame({'A': [2, 3, 4], 'B': [5, 6, 7], 'C': [8, 9, 10]})
# 合并两个数据框
merged_df = pd.merge(df1, df2, how='inner', on=['A', 'B', 'C'])
# 去重,只保留唯一值
result = merged_df.drop_duplicates()
# 打印结果
print(result)
输出:
A B C
0 2 5 8
1 3 6 9
该代码使用了merge函数将两个数据框进行合并,然后使用 drop_duplicates 函数只保留唯一值。这样,就可以在不使用笛卡尔积的情况下找到两个数据框中的相同值。