首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对照另一个dataframe检查dataframe中的值,如果存在则追加值。

对照另一个dataframe检查dataframe中的值,如果存在则追加值。
EN

Stack Overflow用户
提问于 2017-05-16 16:09:02
回答 1查看 4.3K关注 0票数 5

我有两个数据格式如下:

代码语言:javascript
复制
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’匹配起来,如果存在DF1‘A’值,则将DF2‘值’附加到DF1中。

代码语言:javascript
复制
So my result will be:
A    B    C    Values
1    2    3    a,d
7    8    9    b,c

现在,我可以使用下面的代码来匹配这些值,但是它返回的是一个空的数据格式。

代码语言:javascript
复制
df1 = df1[df1['A'].isin(df2['Match'])]

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-16 16:25:28

您可以通过合并dataframes来一步完成查找,而不是执行查找:

pd.merge(df1, df2, how='inner', left_on='A', right_on='Match')

如果只需要出现在两者中的记录,则指定how='inner';如果需要df1 1的所有数据,则指定how='left'

如果只想保留Value列:

pd.merge(df1, df2.set_index('Match')['Values'].to_frame(), how='inner', left_on='A', right_index=True)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44006497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档