如何不对 pandas 中的索引进行排序

AK9*_*309 2 python dataframe pandas

我有 2 个数据框,每个数据框一列。第一个的索引[C,B,F,A,Z]未以任何方式排序。第二个索引是[C,B,Z],也是未排序的。

我使用pd.concat([df1,df2],axis=1)并获取一个包含 2 列的数据框,第二列中为 NaN,其中没有适当的索引值。

我遇到的问题是索引自动按字母顺序排序。我尝试过 = pd.concat([df1,df2],axis=1, names = my_list)where my_list = [C,B,F,A,Z],但这并没有做出任何改变。

如何指定不排序的索引?

EdC*_*ica 5

这似乎是设计使然,我唯一建议的是调用reindex连接的 df 并传递 的索引df

In [56]:
df = pd.DataFrame(index=['C','B','F','A','Z'], data={'a':np.arange(5)})
df

Out[56]:
   a
C  0
B  1
F  2
A  3
Z  4

In [58]:
df1 = pd.DataFrame(index=['C','B','Z'], data={'b':np.random.randn(3)})
df1

Out[58]:
          b
C -0.146799
B -0.227027
Z -0.429725

In [67]:
pd.concat([df,df1],axis=1).reindex(df.index)

Out[67]:
   a         b
C  0 -0.146799
B  1 -0.227027
F  2       NaN
A  3       NaN
Z  4 -0.429725
Run Code Online (Sandbox Code Playgroud)