使用Pandas合并或合并数据帧

2024-09-28 05:19:18 发布

您现在位置:Python中文网/ 问答频道 /正文

简化了。我有两个数据帧,我想合并/连接/连接到一个使用以下场景作为框架。你知道吗

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'有两行。你知道吗

我错过了什么?你知道吗


Tags: 数据框架场景nandf1df2c2c1
1条回答
网友
1楼 · 发布于 2024-09-28 05:19:18

看看^{}

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。你知道吗

相关问题 更多 >

    热门问题