是否将ignore_index = True传递给pd.concat可以在我要连接的数据帧中保留索引继承?

时间:2019-06-11 14:45:16

标签: python pandas concat

我有两个数据框:

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.concatignore_index=True是否将索引继承保存在要连接的数据帧中,或者索引分配中是否存在随机性?

1 个答案:

答案 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