2016-05-04 3 views
2

私は形状が(11456、5)でnumpyの配列kを持っています。numpyからデータフレームを作る - なぜ列が混ざっているのですか?

そして、私はそれから、このようにパンダのデータフレームを作成しています:

submission = pd.DataFrame({"ID":id_test, "Adoption":k[:,0], "Died":k[:,1],"Euthanasia":k[:,2],"Return_to_owner":k[:,3],"Transfer":k[:,4]}) 

submission.head() 
しかしID列が今の私のために本当に奇妙に見える真ん中に位置しており、

Adoption Died  Euthanasia ID Return_to_owner Transfer 
0 0.167068 0.005591 0.005023 1 0.813333  0.008985 
1 0.610528 0.003572 0.003822 2 0.376651  0.005426 
2 0.732384 0.002936 0.003082 3 0.256638  0.004959 

私が見つけました解決方法:

cols = ['ID',"Adoption", "Died", "Euthanasia","Return_to_owner", "Transfer"] 

submission = submission[cols] 

しかし、どうしてですか?

+2

データパラメータとしてdictを渡したので、本質的にキーの順序はdictキーの作成順序と同じではない可能性があります。希望の順序を '列'パラメータとして渡すと、dfが構築されますあなたの欲望として – EdChum

答えて

2

私はあなたがDataFrameコンストラクタにパラメータ・カラムを追加必要があると思う:パラメータcolumnsが設定されていない場合、列はalfanumericがソートされているので、

cols = ['ID',"Adoption", "Died", "Euthanasia","Return_to_owner", "Transfer"] 

pd.DataFrame({"ID":id_test, "Adoption":k[:,0],}, columns=cols) 

+0

ありがとう、今私はそれを得た。そしてコードの作品)) – Rocketq

+0

喜んであなたを助けることができる!がんばろう!いい日! – jezrael

関連する問題