Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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_Arrays_Numpy - Fatal编程技术网

Python 将新行追加到numpy数组

Python 将新行追加到numpy数组,python,arrays,numpy,Python,Arrays,Numpy,我试图在循环中向现有numpy数组追加一个新行。我尝试过append、concatenate和vstack等方法,但都没有得到我想要的结果 我尝试了以下方法: for _ in col_change: if (item + 2 < len(col_change)): arr=[col_change[item], col_change[item + 1], col_change[item + 2]] array=np.concatenate((array,arr),axis=

我试图在循环中向现有numpy数组追加一个新行。我尝试过append、concatenate和vstack等方法,但都没有得到我想要的结果

我尝试了以下方法:

for _ in col_change:
if (item + 2 < len(col_change)):
    arr=[col_change[item], col_change[item + 1], col_change[item + 2]]
    array=np.concatenate((array,arr),axis=0)
    item+=1

我希望输出为[[1,2,3][4,5,6]…]

如果您希望
[[1,2,3],[4,5,6]
我可以为您提供一个不附加
的替代方案:
np.arange
,然后对其进行重塑:

>>> import numpy as np

>>> np.arange(1,7).reshape(2, 3)
array([[1, 2, 3],
       [4, 5, 6]])
或者创建一个大数组并手动填充(或循环填充):

关于您的示例的说明:


在第二个示例中,您忘记保存结果,将其设置为
array=np.concatenate((array,newrow1),axis=0)
,这样它就可以工作了(与您想要的不完全一样,但数组不再是空的)。第一个示例似乎缩进严重,不知道变量和/或问题,很难调试。

增量构建数组的正确方法是不要从数组开始:

alist = []
alist.append([1, 2, 3])
alist.append([4, 5, 6])
arr = np.array(alist)
这基本上与

arr = np.array([ [1,2,3], [4,5,6] ])
制作小(或大)样本阵列的最常用方法


即使您有充分的理由使用某个版本的
concatenate
(hstack、vstack等),最好收集列表中的组件,并执行一次concatante。

array=np.concatenate((array,newrow),axis=0)
array=np.concatenate((array,newrow1,axis=0)
。通过引用它不起作用。在进行操作之前,您需要有
array=
。这里已经回答了:[1]:我也尝试过了,但它最终会像这样添加到行的末尾[1.2.3.4.5.6]。只需尝试
array=np.vstack([np.concatenate([array,newrow]),newrow1])
。所有这些选项都可以在Gyanshu发布的帖子中找到。我连接了数组,然后对其进行了重塑,现在效果很好。
alist = []
alist.append([1, 2, 3])
alist.append([4, 5, 6])
arr = np.array(alist)
arr = np.array([ [1,2,3], [4,5,6] ])