简化。我有两个数据帧,我想使用以下场景作为框架合并/连接/连接到一起。
df1看起来像
C1 C2 C3
0 1659712000.0 1659712000.0 YQHDK
1 5797862000.0 5797862000.0 YQHJW
2 846369000.0 846369000.0 YQHMF
3 508287000.0 508287000.0 YQHRV
4 878002000.0 878002000.0 YQHVT
5 NaN 5178784324.0 YQHRM
虽然df2看起来像
C3 C1
0 YQHRM 2362463460.0
我希望填写NaN
值如下:
C1 C2 C3
0 1659712000.0 1659712000.0 YQHDK
1 5797862000.0 5797862000.0 YQHJW
2 846369000.0 846369000.0 YQHMF
3 508287000.0 508287000.0 YQHRV
4 878002000.0 878002000.0 YQHVT
5 2362463460.0 5178784324.0 YQHRM
我已尝试使用df1.merge(df2, how='left', on='C3)
,但这会创建两个C1
列,C1_x
和C1_y
。
我还尝试使用pd.concat([df1, df2])
,但这导致YQHRM'
两行。
我在这里缺少什么?
答案 0 :(得分:3)
df1.set_index('C3')
df2.set_index('C3')
df2.combine_first(df1)
C1 C2
C3
YQHDK 1.659712e+09 1659712000
YQHJW 5.797862e+09 5797862000
YQHMF 8.463690e+08 846369000
YQHRM 2.362463e+09 5178784324
YQHRV 5.082870e+08 508287000
YQHVT 8.780020e+08 878002000
df2.reset_index()
会将index
还原为column
。