Python 根据第二个df中的值向df添加列
我有两个独立的数据帧Python 根据第二个df中的值向df添加列,python,pandas,Python,Pandas,我有两个独立的数据帧df1和df2,两个数据帧都包含一个id列,该列链接它们之间的行df2有一个group列,而df1不包含该列。我想做的是检查df1中的每个id,检查它是否在df2中,然后它是否要获取组列值,并将其放入同名的新列下的df1。写一个循环的函数是最简单的还是有一个我可以利用的技巧 df1 = pd.DataFrame([[1, 'a'], [2, 'b'], [3, 'c']], columns=['i
df1
和df2
,两个数据帧都包含一个id
列,该列链接它们之间的行df2
有一个group
列,而df1
不包含该列。我想做的是检查df1
中的每个id
,检查它是否在df2
中,然后它是否要获取组
列值,并将其放入同名的新列下的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)
你可能正在寻找。例如,pandas.merge(df1,df2,how='outer',on='id'])