如何不对pandas

时间:2015-11-02 22:24:59

标签: python pandas dataframe

我有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)其中my_list = [C,B,F,A,Z],但没有做出任何更改。

如何指定索引不排序?

1 个答案:

答案 0 :(得分:3)

这似乎是设计上的,我唯一建议的是在连接的df上调用reindex并传递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