我有两个独立的数据框df1
和df2
,两个数据框都包含一个id
列,用于链接它们之间的行。 df2
有一个group
列,df1
不包含该列。我想要做的是浏览id
中的每个df1
并查看它是否在df2
中,然后是否取group
列值并放入它位于df1
下同名的新列下。编写一个循环的函数是最简单的还是我可以在这里使用的pandas技巧?
答案 0 :(得分:3)
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')
答案 1 :(得分:2)
您可以将两个数据框合并为一个,方法是在id列上加入它们,然后只保留您需要的列:
df1 = merge(df1, df2, how='left', on='id')
df1.drop('unwanted_column',1)