我有两个数据框,
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
答案 0 :(得分:0)
您可以为一列DataFrame
过滤一列:
df = pd.merge(df1,df2[['name']],on='name',how='inner')
工作原理类似:
df = pd.merge(df1,df2[['name']])
另一种解决方案是将Series.isin
与boolean indexing
一起使用进行过滤:
df = df1[df1['name'].isin(df2['name'])]