我有一个带有ID信息的数据框df_a
:
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的文档,看到有一个选项" ignore_index"。但这仅适用于连接轴,在我的情况下,列和它当然不适合我。所以我的问题是:有没有一种简单的方法来实现这个目标?
答案 0 :(得分:59)
如果您确定索引行值是相同的,那么为了避免索引对齐顺序,然后只需调用reset_index()
,这会将索引值重置为从0
开始:< / p>
df_c = pd.concat([df_a.reset_index(drop=True), df_b], axis=1)