data1 = {'key':['b','b','a','c','a','a','b'], 'data':range(7)}
df1 = pd.DataFrame(data1)
它被排列为数据,然后是键。为什么不先按key排列,再按data排列?
我需要指定列吗?
最佳答案
data1
是一个字典,因此元素存储在 arbitrary order 中。现在,您每次都以特定顺序看到它的原因是因为 pandas frame constructor做sort the dictionary keys如果没有明确的列参数。
构造函数简单地使用:
>>> sorted(['key', 'data'])
['data', 'key']
因此,您每次都会得到相同的列顺序。您可以(必须)显式给出 columns 参数,以按照您想要的顺序存储它们。
>>> pd.DataFrame(data1, columns=['key', 'data'])
key data
0 b 0
1 b 1
2 a 2
3 c 3
4 a 4
5 a 5
6 b 6
关于python - 为什么 pandas 中的 DataFrame 在字符串之前排列数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45686028/