加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-16 22:40:07 所属栏目:Python 来源:网络整理
导读:我有两个数据帧如下: DF1A B C1 2 34 5 67 8 9DF2Match Values1 a,d7 b,c 我想将DF1 [A]与DF2 [Match]匹配,如果值存在,则将DF2 [Values]附加到DF1 So my result will be:A B C Values1 2 3 a,d7 8 9 b,c 现在我可以使用以下代码来匹配值,但它返回一个空数据

我有两个数据帧如下:

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)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读