如何合并具有一组公共列值的多个数据框值?

时间:2020-06-01 16:47:48

标签: python pandas dataframe

我有一个数据帧df1,它由ColA中的字符串值组成,这些ColA值将具有所示的重复项。

现在,我的df2ColA中将具有相同的一组值,不再重复。因此,我想将ColD的{​​{1}}值附加到原始df2上。 (对于应用程序,60将重复两次,20将重复三次。依此类推..)。同样,我想将df1的{​​{1}}值附加到我的ColE

可以通过转置df3使其成为列名来完成,然后可以将其附加值,还是可以将df1设置为索引,然后需要附加值,或者还有其他方法吗?

ColA

预期输出:ColA

import numpy as np
import pandas as pd
import io

data1='''
ColA,ColB,ColC
app,5,2
app,6,3
book,10,6
book,4,8
book,9,0
car,7,8
car,1,3
'''

data2='''
ColA,ColD
app,60
book,20
car,8
'''

data3='''
ColA,ColE
app,3
book,6
car,9
'''

df1=pd.read_csv(io.StringIO(data1))
df2=pd.read_csv(io.StringIO(data2))
df3=pd.read_csv(io.StringIO(data3))

1 个答案:

答案 0 :(得分:3)

您可以npm install -g @angular/cli@latest

merge

输出:

df1.merge(df2, on='ColA', how='left').merge(df3, on='ColA', how='left')