将行附加到numpy矩阵上

时间:2015-07-16 20:09:23

标签: python numpy matrix append row

我正在尝试将4x1行数据附加到python中的矩阵上。矩阵初始化为空,然后在循环的每次迭代期间增长一行,直到过程结束。我不知道矩阵将被追加多少次,因此不幸的是,将数组初始化为预定的最终大小不是一种选择。我用np.r_找到的问题是附加的矩阵和列表需要大小相同,这种情况很少见。下面是我一直在使用的伪代码。

Dispose

有没有人知道如何找到这个问题的解决方案?

1 个答案:

答案 0 :(得分:0)

正如@hpaulj建议您应该使用列表列表,然后在最后转换为NumPy矩阵。这比使用np.r_或其他NumPy方法构建矩阵 at least 2x faster

import numpy as np

dataMatrix = []

def collectData():
        return 4x1 list

while receivingData:
        dataMatrix.append(collectData())

dataMatrix = np.array(dataMatrix)

作为旁注,np.r_唯一的要求是矩阵的第一个维度等于数组的第一个维度(在您的情况下是唯一的维度)。当你应该使用np.c _

时,也许你使用了np.r_