我在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')