我有两个数据帧 DF1
, DF2
它们具有相同类型的数据并且共享一些索引值但不是全部
DF1
index, a, b, c
[ abc 1, 3, 6 ]
[ acb 2, 4, 5 ]
[ cab 6, 5, 2 ]
[ bac 3, 6, 2 ]
[ bca 6, 8, 3 ]
DF2
index, a, b, d
[ abc 4, 7, 3 ]
[ kde 2, 5, 8 ]
[ lat 7, 2, 6 ]
[ bac 0, 4, 4 ]
[ bca 3, 6, 8 ]
因此我想实现以下目标
1.) 根据索引匹配将 D 列添加到 DF1
2.) 添加来自 DF2
的索引和行,它们在 DF1
RESULT
index, a, b, c, d
[ abc 1, 3, 6, 3 ]
[ acb 2, 4, 5, - ]
[ cab 6, 5, 2, - ]
[ bac 3, 6, 2, 4 ]
[ bca 6, 8, 3, 8 ]
[ kde 2, 5, -, 8 ]
[ lat 7, 2, -, 6 ]
最佳答案
让我们使用 combine_first
:
创建数据:
DF1 = pd.DataFrame({'a':[1,2,6,3,6],'b':[3,4,5,6,8],'c':[6,5,2,2,3]},index=['abc','acb','cab','bac','bca'])
DF2 = pd.DataFrame({'a':[4,2,7,0,3],'b':[7,5,2,4,6],'d':[3,8,6,4,8]},index=['abc','kde','lat','bac','bca'])
df_combo = DF1.combine_first(DF2)
print(df_combo)
a b c d
abc 1.0 3.0 6.0 3.0
acb 2.0 4.0 5.0 NaN
bac 3.0 6.0 2.0 4.0
bca 6.0 8.0 3.0 8.0
cab 6.0 5.0 2.0 NaN
kde 2.0 5.0 NaN 8.0
lat 7.0 2.0 NaN 6.0
关于python - 根据索引值python更新和附加新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43261390/