我有以下數據框:A。 k m n0 x x x1 x x x2 x x x3 x x x4 x x x5 x x x6 x x x7 x x x8 x x x9 x x xB1。 l i j1 x 46 x2 x 64 x3 x 83 x9 x 70 xB2. l i j0 x 23 x4 x 34 x6 x 54 x8 x 32 xB3。 l i j0 x 11 x5 x 98 x7 x 94 x9 x 80 x如何將列“i”(來自數據框 B1、B2 和 B3)添加到數據框 A?關于重復值(例如,B1 和 B3 中的索引 9 以及 B2 和 B3 中的索引 0),我想保留最左邊的值[B1, B2, B3](例如,索引 0 為 23,索引 9 為 70)。期望的輸出是: k m n i0 x x x 231 x x x 462 x x x 643 x x x 834 x x x 345 x x x 986 x x x 547 x x x 948 x x x 329 x x x 70
1 回答

森林海
TA貢獻2011條經驗 獲得超2個贊
您可以使用concat
Bx 數據幀,并duplicated
在索引上使用來刪除重復的索引并保留第一個索引。
A['i'] = (pd.concat([B1, B2, B3])
? ? ? ? ? ? .loc[lambda x: ~x.index.duplicated(keep='first'), 'i'])
print(A)
? ?k? m? n? ?i
0? x? x? x? 23
1? x? x? x? 46
2? x? x? x? 64
3? x? x? x? 83
4? x? x? x? 34
5? x? x? x? 98
6? x? x? x? 54
7? x? x? x? 94
8? x? x? x? 32
9? x? x? x? 70
添加回答
舉報
0/150
提交
取消