Pandas列绑定(cbind)两个数据帧

2024-05-18 08:34:25 发布

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

我有一个数据帧df_a,包含id信息:

    unique_id lacet_number 
15    5570613  TLA-0138365 
24    5025490  EMP-0138757 
36    4354431  DXN-0025343 

另一个数据帧df_b,其行数与df_a中的行数相同:

     latitude  longitude 
0  -93.193560  31.217029  
1  -93.948082  35.360874  
2 -103.131508  37.787609  

我想做的只是找到两者并得到:

    unique_id lacet_number      latitude  longitude 
0     5570613  TLA-0138365    -93.193560  31.217029  
1     5025490  EMP-0138757    -93.948082  35.360874  
2     4354431  DXN-0025343   -103.131508  37.787609  

我试过的:

df_c = pd.concat([df_a, df_b], axis=1)

这给了我一个外部连接。

    unique_id lacet_number    latitude  longitude
0         NaN          NaN  -93.193560  31.217029
1         NaN          NaN  -93.948082  35.360874
2         NaN          NaN -103.131508  37.787609
15    5570613  TLA-0138365         NaN        NaN
24    5025490  EMP-0138757         NaN        NaN
36    4354431  DXN-0025343         NaN        NaN

问题是两个数据帧的索引不匹配。我阅读了pandas.concat的文档,发现有一个选项“忽略索引”。但这只适用于连接轴,在我的情况下是列,这当然不是我的正确选择。所以我的问题是:有没有一个简单的方法来实现这个目标?


Tags: 数据信息idnumberdfnanpdunique
1条回答
网友
1楼 · 发布于 2024-05-18 08:34:25

如果您确定索引行值是相同的,那么为了避免索引对齐顺序,只需调用^{},这将重新设置索引值,使其从0开始:

df_c = pd.concat([df_a.reset_index(drop=True), df_b], axis=1)

相关问题 更多 >