2017-10-05 104 views
0

我想要做的任务有点复杂,所以我会尝试以最好的方式解释它。使用熊猫合并csv文件(合并和复制)

我有以下格式在两次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

这是一个任务https://pandas.pydata.org/pandas-docs/stable/ generated/pandas.DataFrame.merge.html – MedAli

回答

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 
+0

我不敢相信它其实很简单!非常感谢你! – Jethro

+0

@Jethro欢迎您:) – MedAli