从第二个数据框列更新第一个数据框列

数据挖掘 Python 熊猫 数据框
2022-03-01 13:01:17

我有两个数据框 df1 和 df2 看起来像这样。

    Name    Age    Sex
0   Sam      25     M  
1   John     22     M
2   Larry    34     M
3   Mark     32     M

    Name    Age    Sex
0   Kelvin   51     M  
1   Bob      26     M
2   Larry    37     M
3   Jerry    17     M
6   Nick     68     M
8   Sam      98     M
9   Jax      78     M
10  John     23     M
11  Mark     47     M
12  Jerry    68     M

理想情况下,我的输出应该是这样的:

    Name    Age    Sex
0   Sam      98     M  
1   John     23     M
2   Larry    37     M
3   Mark     47     M

我试过加入和合并,但列没有排列

3个回答

试试下面的代码,它应该为你解决问题

df1['Age'] = df1['Name'].replace(df2.set_index('Name')['Age'].dropna())
df1['Sex'] = df1['Name'].replace(df2.set_index('Name')['Sex'].dropna())
print(df1)

输出 = df2[df2['Name'].isin(df1['Name'])

你可以试试这个:

import pandas as pd

dfMerge = pd.merge(df1[['Name']], df2[['Name', 'Age', 'Sex']], on="Name")
print(dfMerge)