首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用pandas比较基于2列的两个不同的csv文件,并打印第二个csv文件中不匹配的行

使用pandas比较基于2列的两个不同的CSV文件,并打印第二个CSV文件中不匹配的行,可以按照以下步骤进行:

  1. 导入必要的库和模块:
代码语言:txt
复制
import pandas as pd
  1. 读取两个CSV文件并创建DataFrame对象:
代码语言:txt
复制
df1 = pd.read_csv('file1.csv')
df2 = pd.read_csv('file2.csv')
  1. 使用pandas的merge()函数将两个DataFrame对象基于指定的列进行合并:
代码语言:txt
复制
merged_df = pd.merge(df1, df2, on=['column1', 'column2'], how='outer', indicator=True)

这里的'column1'和'column2'是要比较的两列名称。

  1. 过滤出第二个CSV文件中不匹配的行:
代码语言:txt
复制
unmatched_rows = merged_df[merged_df['_merge'] == 'right_only']

这里使用了_merge列来标记合并结果,'right_only'表示第二个CSV文件中的行。

  1. 打印不匹配的行:
代码语言:txt
复制
print(unmatched_rows)

完整的代码示例:

代码语言:txt
复制
import pandas as pd

df1 = pd.read_csv('file1.csv')
df2 = pd.read_csv('file2.csv')

merged_df = pd.merge(df1, df2, on=['column1', 'column2'], how='outer', indicator=True)
unmatched_rows = merged_df[merged_df['_merge'] == 'right_only']

print(unmatched_rows)

以上代码会比较两个CSV文件中的指定列,并打印出第二个CSV文件中不匹配的行。请将'file1.csv'和'file2.csv'替换为实际的文件路径。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的合辑

领券