考虑一个基本的数据框(使用Pandas): testDf = pandas.DataFrame({'c':[1,2],'b':[2,2],'a':[3,4]}) 结果如下: a b c 0 3 2 1 1 4 2 2 替代方案: c b a 0 1 2 3 1 2 2 4 为什么要按字母顺序排序?我想要第二个结果。
你需要在DataFrame构造函数中添加参数columns,因为dict是无序的:print (pd.DataFrame({'c':[1,2],'b':[2,2],'a':[3,4]}, columns=['c','b','a'])) c b a 0 1 2 3 1 2 2 4 Dataframe: 在传递数据时,您可以选择传递索引(行标签)和列(列标签)参数。如果您传递了索引和/或列,则保证结果DataFrame的索引和/或列。因此,Series字典加上特定索引会丢弃所有与传递索引不匹配的数据。
你将字典作为数据参数传递,因此顺序并不与键创建的顺序相同。由于顺序不同,你可以通过将列的列表作为columns参数的参数传递来指定列的顺序: In [307]: testDf = pd.DataFrame({'c':[1,2],'b':[2,2],'a':[3,4]}, columns=['c','b','a']) testDf Out[307]: c b a 0 1 2 3 1 2 2 4
columns=
参数似乎是按照您想要的方式进行排序的最佳方法。 - Jeff