【发布时间】:2015-08-24 22:39:48
【问题描述】:
我正在尝试创建一个空的 numpy 数组,然后将新创建的数组插入多个数组。对我来说重要的是不要塑造第一个 numpy 数组,它必须是空的,然后我可以将具有不同大小的新 numpy 数组添加到该数组中。类似于以下内容:
A = numpy.array([])
B = numpy.array([1,2,3])
C = numpy.array([5,6])
A.append(B, axis=0)
A.append(C, axis=0)
我希望 A 看起来像这样:
[[1,2,3],[5,6]]
当我执行附加命令时,我收到以下错误:
AttributeError: 'numpy.ndarray' object has no attribute 'append'
知道如何做到这一点吗?
PS:这与之前提出的问题不同,因为我不想连接两个 numpy 数组。我正在尝试将一个 numpy 数组插入另一个空的 numpy 数组。我知道如何使用列表来做到这一点,但它必须是 numpy 数组。
谢谢
【问题讨论】:
-
您确定要创建这样的
numpy.array吗?当每一行有不同的列数时,您将拥有object类型的numpy.array,它失去了大部分不错的numpy功能。对于喜欢的东西,可以考虑使用普通 pythonlist。 -
Akavail 是对的。我假设你想要一个 python 列表作为输出。如果你想要一个 numpy 数组,它是一个参差不齐的数组,你必须填充一些东西,例如
np.nan: 数组([[1,2,3],[5,6,nan]]) -
@mbomb007 这不是重复的,我解释了原因。谢谢
-
Nimafl,您还没有回答 Akavail 的问题,这很重要:对象数组就足够了吗?还是您想要一个带有空占位符(如 -1 或 nan)的参差不齐的数组?
标签: python arrays numpy append