Numpy:如何在列中堆叠数组?

时间:2018-05-23 21:50:48

标签: python numpy

假设我有n个相同长度的numpy数组。我想现在创建一个numpy矩阵,这样矩阵的每一列都是numpy数组之一。我怎样才能做到这一点?现在我在一个循环中这样做,它会产生错误的结果。

注意:我必须能够迭代地将它们一个一个地叠加在一起。

我的代码看起来假设get_array是一个根据其参数返回某个数组的函数。我不知道在循环之后,我将会有多少列。

matrix = np.empty((n_rows,))
for item in sorted_arrays:
    array = get_array(item)
    matrix = np.vstack((matrix,array))

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:2)

您可以尝试将所有数组(或列表)放入矩阵中,然后进行转置。如果所有数组的长度相同,这将有效。

mymatrix = np.asmatrix((array1, array2, array3)) #... putting arrays into matrix.
mymatrix = mymatrix.transpose()

这应该输出一个矩阵,每个数组作为一列。希望这会有所帮助。