Python 从numpy生成数据帧-为什么列是混合的?
我有一个形状为(11456,5)的numpy数组Python 从numpy生成数据帧-为什么列是混合的?,python,python-2.7,numpy,pandas,Python,Python 2.7,Numpy,Pandas,我有一个形状为(11456,5)的numpy数组k 我用这种方式创建熊猫数据帧: 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
k
我用这种方式创建熊猫数据帧:
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]
但是为什么会发生这种情况呢?我认为您需要将参数列添加到
DataFrame
构造函数中:
cols = ['ID',"Adoption", "Died", "Euthanasia","Return_to_owner", "Transfer"]
pd.DataFrame({"ID":id_test, "Adoption":k[:,0],}, columns=cols)
因为如果未设置参数
columns
,列将按数字排序。因为您传递了一个dict作为数据参数,所以键的顺序本质上可能与dict键的创建顺序不同,如果您将所需的顺序作为列
参数传递,那么您将获得构建为您的DesiredGlad可以帮助您的df!祝你好运天气真好!