【发布时间】:2018-10-29 13:44:35
【问题描述】:
我正在尝试填充 NumPy 数组的 NumPy 数组。每次我完成循环的迭代时,我都会创建要添加的数组。然后我想将该数组附加到另一个数组的末尾。例如:
first iteration
np.append([], [1, 2]) => [[1, 2]]
next iteration
np.append([[1, 2]], [3, 4]) => [[1, 2], [3, 4]]
next iteration
np.append([[1, 2], [3, 4]], [5, 6]) => [[1, 2], [3, 4], [5, 6]]
etc.
我尝试过使用 np.append 但这会返回一个一维数组,即
[1, 2, 3, 4, 5, 6]
【问题讨论】:
-
查找
np.vstack虽然我建议像你一样首先使用append创建一个二维python 列表,如果可以的话,只在最后调用np.array。 -
使用 numpy.append 可能并不简单。根据docs.scipy.org/doc/numpy/reference/generated/numpy.append.html,如果您使用轴,则附加的数组必须与附加的数组具有相同的维度。如果您不使用轴,则附加的值将在使用前被展平。
-
@Julien 我不敢相信我没有想到这一点。除了效率之外,它似乎更直接,因为在计算整个二维数组之前,我实际上并没有对要求它采用 NumPy 格式的数据做任何事情。谢谢。