繁体   English   中英

熊猫根据第二个df中的值将列添加到df中

[英]Pandas add column to df based on values in a second df

我有两个单独的数据df1df2 ,两个数据df2都包含一个id列,该id列链接它们之间的行。 df2具有df1不包含的group列。 我想做的是遍历df1每个id并检查它是否在df2然后是否要获取group列值并将其放在df1中同名的新列下。 编写一个循环函数最简单还是在这里有我可以利用的熊猫技巧?

df1 = pd.DataFrame([[1, 'a'],
                    [2, 'b'],
                    [3, 'c']], columns=['id', 'attr'])
df2 = pd.DataFrame([[2, 'd'],
                    [3, 'e'],
                    [4, 'f']], columns=['id', 'group'])

df1.merge(df2, how='left')

在此处输入图片说明

您可以通过将两个数据框合并到id列中来合并两个数据框,然后仅保留所需的列:

df1 = merge(df1, df2, how='left', on='id')
df1.drop('unwanted_column',1)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM