Python 具有两个以上数组的numpy append
我知道也有类似的问题,但我找不到我想要的信息。 我有一个numpy数组的列表,我想将它们相互附加以形成一个特征矩阵 我能够得到预期的结果,如下所示:Python 具有两个以上数组的numpy append,python,arrays,numpy,append,concatenation,Python,Arrays,Numpy,Append,Concatenation,我知道也有类似的问题,但我找不到我想要的信息。 我有一个numpy数组的列表,我想将它们相互附加以形成一个特征矩阵 我能够得到预期的结果,如下所示: a = [1,2,3] b = [4,5,6] c = [7,8,9] d = [10,11,12] new_array = numpy.append(a, b, 1) new_array = numpy.append(new_array, c, 1) new_array = numpy.append(new_array, d, 1) 但这显然不
a = [1,2,3]
b = [4,5,6]
c = [7,8,9]
d = [10,11,12]
new_array = numpy.append(a, b, 1)
new_array = numpy.append(new_array, c, 1)
new_array = numpy.append(new_array, d, 1)
但这显然不是正确的方法,因为这是非常不公平的解决方法,如果我不指定要附加我的名字的数组,它就不起作用。
我想这样做:
value = [[1,2,3],[4,5,6],[7,8,9],[10,11,12]]
for subval, index in enumerate(value):
new_array = numpy.append(subval[index], subval[index+1], 1)
我不能只做像new\u array=numpy.append(值[0],值[1],1)
这样的事情,因为value
的长度可能会变化。
现在的问题是,如何正确地做到这一点
我还发现了类似于concat
的方法,但我的数学知识不足以理解它是否与第一个代码示例相同
如果你有
value=[[1,2,3],[4,5,6],[7,8,9],[10,11,12],
只要调用np.数组(value)
就可以了。np.连接([a,b,c,d])
会像追加一样吗?连接更好,因为它只分配一次所需的内存。迭代的append
将多次复制数组,例如,您的第一个数组被复制n-1次。append
是一种调用concatenate
的方法,它只使用两个数组,而不是一整列数组。阅读它的源代码。这是一个命名(使用)不好的函数。值列表中的项是数组already@dumbchild不管怎样,它都会起作用的。