考虑以下数据帧:import pandas as pddata1={'column_a' : ['a','a','b','c','d','e'], 'column_b' : [1,2,3,4,5,6], 'column_c' : [9,8,6,4,5,4]}data2={'column_a' : ['f','f','g','a','a','a'], 'column_b' : [7,8,9,7,5,6], 'column_c' : [6,8,7,6,5,4]}df_1 = pd.DataFrame(data1)df_2 = pd.DataFrame(data2)你将如何串联的2个dataframes,这样df_2会追加到df_1,但覆盖df_1上column_a?我正在寻找以下结果column_a column_b column_cb 3 6c 4 4d 5 5e 6 4f 7 6f 8 8g 9 7a 7 6a 5 5a 6 4请注意顶部带有 'a', from 的 2 行如何df_1不再可用,因为它们被 3 a's from 覆盖df_2。
1 回答
吃鸡游戏
TA贡献1829条经验 获得超7个赞
只需在append或之前做一个过滤器concat
pd.concat([df_1.loc[~df_1.column_a.isin(df_2.column_a)],df_2])
Out[29]:
column_a column_b column_c
2 b 3 6
3 c 4 4
4 d 5 5
5 e 6 4
0 f 7 6
1 f 8 8
2 g 9 7
3 a 7 6
4 a 5 5
5 a 6 4
添加回答
举报
0/150
提交
取消