首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将numpy数组插入空numpy数组

将numpy数组插入空numpy数组
EN

Stack Overflow用户
提问于 2015-06-09 21:49:04
回答 3查看 2.3K关注 0票数 0

我正在尝试创建一个空的numpy数组,然后将新创建的数组插入到一个以上的数组中。对我来说,重要的是不要对第一个numpy数组进行格式化,它必须是空的,然后我可以将不同大小的新numpy数组添加到该数组中。如下所示:

代码语言:javascript
复制
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看起来像这样

代码语言:javascript
复制
[[1,2,3],[5,6]]

当我执行追加命令时,会得到以下错误:

代码语言:javascript
复制
AttributeError: 'numpy.ndarray' object has no attribute 'append'

知道该怎么做吗?

PS:这与之前提出的问题不同,因为我并不试图连接两个numpy数组。我试图将一个numpy数组插入到另一个空的numpy数组中。我知道如何使用列表来完成这个任务,但是它必须是numpy数组。

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-06-09 22:23:06

对于numpy数组,您不能这样做,因为真正的2D numpy是矩形的。例如,np.arange(6).reshape(2,3)返回array([[0, 1, 2],[3, 4, 5]])。如果您真的想这样做,请尝试创建array([array([1,2,3]),array([5,6])]),它创建了array([array([1, 2, 3]), array([5, 6])], dtype=object),但是您将使用错误对齐的数据来释放所有的numpy电源。

票数 3
EN

Stack Overflow用户

发布于 2015-06-09 21:55:12

可以通过将数组转换为列表来做到这一点:

代码语言:javascript
复制
In [21]: a = list(A)
In [22]: a.append(list(B))
In [24]: a.append(list(C))
In [25]: a
Out[25]: [[1, 2, 3], [5, 6]]

我的直觉是,有一个更好的解决方案(要么更多的pythonic或更多的numpythonic)比这,这可能是从一个更完整的描述你的问题。

票数 2
EN

Stack Overflow用户

发布于 2015-06-09 21:55:10

取自here。也许先找出现存的问题。

代码语言:javascript
复制
numpy.append(M, a)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30743447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档