Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.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在数组中插入行_Python_Arrays_Numpy_Pandas - Fatal编程技术网

Python在数组中插入行

Python在数组中插入行,python,arrays,numpy,pandas,Python,Arrays,Numpy,Pandas,我有一个5x17511 2D数组名='da',它是由一只熊猫制作的 我还添加了一列这样的索引:da.index=pd.date\u range 因此,我的2D阵列现在有6x17511大小 我想在这个2D数组中再插入/追加一行,怎么做 我已经尝试过:np.insertda,1,np.array1,2,3,4,5,6,0,但是它说: ValueError:传递值的形状为617512,索引为6, 17511 提前谢谢 我认为这是一个重要的问题,而不是一个熊猫问题 你可以试试vstack import

我有一个5x17511 2D数组名='da',它是由一只熊猫制作的

我还添加了一列这样的索引:da.index=pd.date\u range

因此,我的2D阵列现在有6x17511大小

我想在这个2D数组中再插入/追加一行,怎么做

我已经尝试过:np.insertda,1,np.array1,2,3,4,5,6,0,但是它说:

ValueError:传递值的形状为617512,索引为6, 17511


提前谢谢

我认为这是一个重要的问题,而不是一个熊猫问题

你可以试试vstack

import numpy as np
da = np.random.rand(17511, 6)
newrow = np.array((1,2,3,4,5,6))
da = np.vstack([da, newrow])
这就产生了

In [5]: da
Out[5]: 
array([[ 0.50203777,  0.55102172,  0.74798053,  0.57291239,  0.38977322,
         0.40878739],
       [ 0.9960413 ,  0.22293403,  0.34136638,  0.12845067,  0.20262593,
         0.50798698],
       [ 0.05298782,  0.09129754,  0.40833606,  0.67150583,  0.19569471,
         0.75176924],
       ..., 
       [ 0.97927055,  0.44649323,  0.84851791,  0.05370892,  0.94375771,
         0.24508979],
       [ 0.85952039,  0.2852414 ,  0.85662827,  0.97665465,  0.65528357,
         0.71483845],
       [ 1.        ,  2.        ,  3.        ,  4.        ,  5.        ,
         6.        ]])

In [6]: len(da)
Out[6]: 17512
尽管使用不同的随机数,我可以访问numpy数组的顶部和底部,如下所示

In [9]: da[:5]
Out[9]: 
array([[ 0.76697236,  0.96475768,  0.09145486,  0.27159858,  0.05160006,
         0.66495098],
       [ 0.62635043,  0.1316334 ,  0.66257157,  0.99141318,  0.77212699,
         0.17016979],
       [ 0.86705298,  0.11120927,  0.29585339,  0.44128326,  0.32290492,
         0.99298705],
       [ 0.74053894,  0.90743885,  0.99838398,  0.40713677,  0.17337202,
         0.56982539],
       [ 0.99136919,  0.13045787,  0.67881652,  0.03814385,  0.98036307,
         0.53594215]])

In [10]: da[-5:]
Out[10]: 
array([[ 0.8793664 ,  0.0392912 ,  0.8106504 ,  0.17920025,  0.26767578,
         0.98386519],
       [ 0.41231276,  0.02633723,  0.7872108 ,  0.60894162,  0.5358851 ,
         0.65758067],
       [ 0.10341791,  0.48079533,  0.1638601 ,  0.5470736 ,  0.7339205 ,
         0.60609949],
       [ 0.55320512,  0.12962241,  0.84443947,  0.81012583,  0.22057856,
         0.33495709],
       [ 1.        ,  2.        ,  3.        ,  4.        ,  5.        ,
         6.        ]])

您尝试过DataFrame.ix[index]=行吗?是为此而设计的索引解决方案不起作用:ValueError:值的长度与索引的长度不匹配Append不起任何作用。是的,我已经尝试过这个,它起作用了,但这会给我的数据集添加很多[]方括号,我不需要这个。我希望你能理解我的问题是什么。我只需要一个2D数组,而不是vstack,用[]方括号分隔的行实际上不在那里-它们只是以这种方式打印,这样您就可以了解数据的结构。但是在此之后,我不能像这样索引我的数组:da[:'150']indexer:vstack之前的无效切片我可以尝试da[:150]-也就是说,没有单引号-这就是你的意思-2D数组的前150行吗?是的,当然我尝试了没有引号,但没有帮助我。是的,我想选择2D阵列的前150行。