我有两个数据格式如下:
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中。
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'])]任何帮助都将不胜感激。
发布于 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)
https://stackoverflow.com/questions/44006497
复制相似问题