简体   繁体   English

如何根据pandas python中的特定列合并两个数据框?

[英]how to merge two data frames based on particular column in pandas python?

I have to merge two dataframes:我必须合并两个数据框:

df1 df1

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

df2 df2

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

I have to unify both dataframes to one dataframe.我必须将两个数据帧统一为一个数据帧。 I need output like:我需要这样的输出:

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

Use merge :使用merge

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

Sample:样品:

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

我想我们也可以使用 df1.merge(df2,on='Company')

In order to successfully merge two data frames based on common column(s), the dtype for common column(s) in both data frames must be the same!为了基于公共列成功合并两个数据框,两个数据框中公共列的 dtype 必须相同! dtype for a column can be changed by:列的 dtype 可以通过以下方式更改:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM