我有两个数据框:
df1 =
value
0 a
1 b
2 c
df2 =
value
0 d
1 e
我需要通过索引将它们连接起来,但是我必须保留第一个数据帧的索引,并在第二个数据帧中继续它,如下所示:
result =
value
0 a
1 b
2 c
3 d
4 e
我的猜测是pd.concat([df1, df2], ignore_index=True)
可以胜任。但是,我担心对于大型数据帧,行的顺序可能会更改,而我最终会得到这样的结果(前两行更改了索引):
result =
value
0 b
1 a
2 c
3 d
4 e
所以我的问题是,pd.concat
和ignore_index=True
是否将索引继承保存在要连接的数据帧中,或者索引分配中是否存在随机性?
答案 0 :(得分:9)
根据我的经验,pd.concat
在串联期间按照DataFrames传递给行的顺序来合并行。
如果您想安全起见,请指定sort=False
,这样也可以避免对列进行排序:
pd.concat([df1, df2], axis=0, sort=False, ignore_index=True)
value
0 a
1 b
2 c
3 d
4 e