我有两个数据帧如下:
DF1
A B C
1 2 3
4 5 6
7 8 9
DF2
Match Values
1 a,d
7 b,c
我想将DF1 [‘A’]与DF2 [‘Match’]匹配,如果值存在,则将DF2 [‘Values’]附加到DF1
So my result will be:
A B C Values
1 2 3 a,d
7 8 9 b,c
现在我可以使用以下代码来匹配值,但它返回一个空数据帧.
df1 = df1[df1['A'].isin(df2['Match'])]
任何帮助,将不胜感激.
最佳答案
您可以通过合并数据帧一步完成此操作,而不是进行查找:
原文链接:https://www.f2er.com/python/438746.htmlpd.merge(df1,df2,how =’inner’,left_on =’A’,right_on =’匹配’)
如果您只想要显示在两者中的记录,请指定如何=’内部’,如果您想要所有df1的数据,则如何=’左’.
如果您只想保留“值”列:
pd.merge(df1,df2.set_index(‘Match’)[‘Values’].to_frame(),right_index = True)