如何基于pandas python中的特定列合并两个数据帧?

时间:2016-06-08 08:31:55

标签: python python-2.7 pandas

我必须合并两个数据帧:

DF1

company,standard
tata,A1
cts,A2
dell,A3

DF2

company,return
tata,71
dell,78
cts,27
hcl,23

我必须将两个数据帧统一到一个数据帧。我需要输出如:

company,standard,return
tata,A1,71
cts,A2,27
dell,A3,78

2 个答案:

答案 0 :(得分:29)

使用merge

print (pd.merge(df1, df2, on='company'))

样品:

print (df1)
  company standard
0    tata       A1
1     cts       A2
2    dell       A3

print (df2)
  company  return
0    tata      71
1    dell      78
2     cts      27
3     hcl      23

print (pd.merge(df1, df2, on='company'))
  company standard  return
0    tata       A1      71
1     cts       A2      27
2    dell       A3      78

答案 1 :(得分:0)

为了成功地基于公共列合并两个数据帧,两个数据帧中公共列的dtype必须相同!列的dtype可以通过以下方式更改:

df['commonCol'] = df['commonCol'].astype(int)