如何合并两个不同的数据帧?保留第一个上的信息,并根据第二个更新被欺骗的信息



我在Python上有两个不同的数据帧,第一个是我的"基本";数据帧,我想保留初始信息,只更新/包括第二个数据帧上的信息。

例如,假设我有以下数据帧:

df_1 = {
"Name": [Tom, Daniel, Anne, Isabel],
"Age": [50, 40, 45, 25],
"Height": [170, 180, 190, 200]
}
df_2 = {
"Name": [Tom, Daniel, Mike],
"Age": [55, 70, 80],
"Height": [210, 190, 160]
}

因此,我想要得到以下数据帧:

df_3 = {
"Name": [Tom, Daniel, Anne, Isabel, Mike],
"Age": [55, 70, 45, 25, 80],
"Height": [210, 190, 190, 200, 160]
}

对此最好的解决方案是什么?

import pandas as pd
df_1 = {
"Name": ['Tom', 'Daniel', 'Anne', 'Isabel'],
"Age": [50, 40, 45, 25],
"Height": [170, 180, 190, 200]
} 
df_2 = {
"Name": ['Tom', 'Daniel', 'Mike'],
"Age": [55, 70, 80],
"Height": [210, 190, 160]
}
df1=pd.DataFrame.from_dict(df_1)
df2=pd.DataFrame.from_dict(df_2)
pd.concat([df1, df2]).drop_duplicates(subset=['Name'], keep='last').to_dict('list')

相关内容

最新更新