我想做的任务有点复杂,所以我会尽力以最好的方式解释它。
我有两个以下格式的cv文件:
CSV1:
Name Var2 Var3
John 6 7
John 7 8
Mike 5 6
CSV2:
Name Var4 Var5
John 8 8
John 9 9
Mike 1 1
Mike 2 2
我基本上想要做的是合并文件,但采用以下格式:
Name Var2 Var3 Var4 Var5
John 6 7 8 8
John 6 7 9 9
John 7 8 8 8
John 7 8 9 9
Mike 5 6 1 1
Mike 5 6 2 2
它基本上复制了第一个csv中的每个Name条目,具体取决于第二个csv中有多少相同的名称条目,并添加第二个csv中的相应列
我可以检查csv1中的名称是否与csv 2中的名称匹配,但从那里开始我不确定如何继续进行该操作
答案 0 :(得分:2)
您可以使用pd.merge
In [19]: df1
Out[19]:
Name Var2 Var3
0 John 6 7
1 John 7 8
2 Mike 5 6
In [20]: df2
Out[20]:
Name Var4 Var5
0 John 8 8
1 John 9 9
2 Mike 1 1
3 Mike 2 2
In [21]: df1.merge(df2, how='right', on='Name')
Out[21]:
Name Var2 Var3 Var4 Var5
0 John 6 7 8 8
1 John 7 8 8 8
2 John 6 7 9 9
3 John 7 8 9 9
4 Mike 5 6 1 1
5 Mike 5 6 2 2