我对DataFrame的行为感到有些困惑
例如:
df = pd.DataFrame(data=np.random.random(size=(5,3)),
columns={'a', 'b', 'c'})
默认输出为什么:
df = c a b
0 0.325172 0.831253 0.151912
1 0.558476 0.177249 0.906136
2 0.516089 0.069013 0.370251
3 0.440246 0.154116 0.494690
4 0.793981 0.409526 0.885879
而不是列的有序列表('a','b','c')
(Python 3.6,Pandas 0.23)
答案 0 :(得分:3)
您传递的set
列名称不一定会保留订单,如果您传递了list
,那么它会按您的要求执行:
In[32]:
df = pd.DataFrame(data=np.random.random(size=(5,3)),
columns=['a', 'b', 'c'])
df
Out[32]:
a b c
0 0.227711 0.410568 0.795012
1 0.624751 0.708471 0.152641
2 0.901483 0.967297 0.884749
3 0.353622 0.220706 0.031015
4 0.628634 0.128421 0.679261