python – 检查数据帧中的值与另一个数据帧,并附加值(如果存在)

前端之家收集整理的这篇文章主要介绍了python – 检查数据帧中的值与另一个数据帧,并附加值(如果存在)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有两个数据帧如下:

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'])]

任何帮助,将不胜感激.

最佳答案
您可以通过合并数据帧一步完成此操作,而不是进行查找:

pd.merge(df1,df2,how =’inner’,left_on =’A’,right_on =’匹配’)

如果您只想要显示在两者中的记录,请指定如何=’内部’,如果您想要所有df1的数据,则如何=’左’.

如果您只想保留“值”列:

pd.merge(df1,df2.set_index(‘Match’)[‘Values’].to_frame(),right_index = True)

原文链接:https://www.f2er.com/python/438746.html

猜你在找的Python相关文章