Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从numpy生成数据帧-为什么列是混合的?_Python_Python 2.7_Numpy_Pandas - Fatal编程技术网

Python 从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

我有一个形状为(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      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!祝你好运天气真好!