熊猫在正确的数据框中合并内部跳过其他列

时间:2019-05-13 07:26:38

标签: pandas merge

我有两个数据框,

df1

name value
A    1
B    2
A    3
D    4

df2

name class
A    1
B    3
E    4  

尝试pd.merge(df1,df2,on='name',how='inner')

即时通讯输出是

name value class
A       1   1
A       3   1
B       2   3

我的预期输出是

name  value
A       1   
A       3   
B       2

1 个答案:

答案 0 :(得分:0)

您可以为一列DataFrame过滤一列:

df = pd.merge(df1,df2[['name']],on='name',how='inner')

工作原理类似:

df = pd.merge(df1,df2[['name']])

另一种解决方案是将Series.isinboolean indexing一起使用进行过滤:

df = df1[df1['name'].isin(df2['name'])]