如何将项目添加到numpy数组

发布于 2021-01-29 15:08:44

我需要完成以下任务:

从:

a = array([[1,3,4],[1,2,3]...[1,2,1]])

(向每行添加一个元素)到:

a = array([[1,3,4,x],[1,2,3,x]...[1,2,1,x]])

我已经尝试做类似a [n] = array([1,3,4,x])的事情

但是numpy抱怨形状不匹配。我尝试遍历a并将元素x附加到每个项目,但是更改未反映出来。

关于如何实现此目标的任何想法?

关注者
0
被浏览
139
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    对于有python经验的人来说,将数据追加到现有数组是很自然的事情。但是,如果您发现自己定期附加到大型数组,则会很快发现NumPy不能像python那样轻松或有效地做到这一点list。您会发现,每个“追加”操作都需要重新分配阵列内存,并使内存需求短期增加一倍。因此,解决该问题的更一般的方法是尝试将数组分配为与算法的最终输出一样大。然后,对该数组的子集(切片)执行所有操作。理想情况下,应最小化阵列的创建和销毁。

    就是说,这通常是不可避免的,执行此操作的功能是:

    对于二维数组:

    对于3-D阵列(上面加上):

    对于ND阵列:



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看