我有两个pandas数据框,看起来类似于以下内容:
DF1:
RecorderID GroupID Location ... SomeColumn
CT-1000001 BV- Cape Town SomeValue
CT-1000002 MP- Johannesburg SomeValue
CT-1000003 BV- Durban SomeValue
DF2:
RecorderID GroupID Location ... SomeColumn
CT-1000001 BV- Durban ... SomeValue
CT-1000003 BV- Durban ... SomeValue
这两个数据帧实际上很大,有很多列和很多行。我想比较两个数据帧并以一个数据帧结束以完成以下操作(RecorderID是我的主键):
因此,以上面的例子为例,我最终会得到以下数据框:
RecorderID GroupID Location ... SomeColumn
CT-1000001 BV- Cape Town SomeValue
CT-1000002 MP- Johannesburg SomeValue
PS:我注意到在向Excel写出数据帧时,它会将索引列作为第一列插入。如何指定RecorderID是我的主键,它应该使用它来索引值?我试过了:
df = read_excel('file.xlsx', 'sheet1', index_col='RecorderID')
但是当我把它写出来时,只删除RecorderID列并添加一个带编号的索引列。
谢谢!
答案 0 :(得分:1)
如果您正在运行最新版本的pandas,那么您可以merge
并将合并方法指定为left
,此外我们可以设置indicator=True
这会添加一列{ {1}}您会告诉_merge
或left_only
中的行是否存在,我们可以将这些行过滤掉:
both