我需要完成以下任务:
从:
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附加到每个项目,但是更改未反映出来。
a
关于如何实现此目标的任何想法?
对于有python经验的人来说,将数据追加到现有数组是很自然的事情。但是,如果您发现自己定期附加到大型数组,则会很快发现NumPy不能像python那样轻松或有效地做到这一点list。您会发现,每个“追加”操作都需要重新分配阵列内存,并使内存需求短期增加一倍。因此,解决该问题的更一般的方法是尝试将数组分配为与算法的最终输出一样大。然后,对该数组的子集(切片)执行所有操作。理想情况下,应最小化阵列的创建和销毁。
list
就是说,这通常是不可避免的,执行此操作的功能是:
对于二维数组:
对于3-D阵列(上面加上):
对于ND阵列: