使用pandas组合csv文件(合并和复制)

时间:2017-10-05 10:19:36

标签: python pandas csv dataframe

我想做的任务有点复杂,所以我会尽力以最好的方式解释它。

我有两个以下格式的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中的名称匹配,但从那里开始我不确定如何继续进行该操作

1 个答案:

答案 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