我想在numpy数组的最后位置插入一个值:
a = np.array([[0, 0, 1, 0]])
np.insert(a, -1, 2, 1)
>>>> array([[0, 0, 1, 2, 0]])
np.insert(the_list,the_position,the_value,the_axe)
通常,-1是数组的最后一个位置,但正如您所看到的,新创建的数组为最后一个位置的2。有人可以解释我做错了吗?
答案 0 :(得分:1)
如documentation numpy.insert
中所述,在给定索引之前插入给定元素:
obj : int,切片或整数序列
定义>>之前的索引的对象,其中插入了值。 (强调我的)
如果你只想在数组的末尾添加一个元素,那么你正在查找numpy.append
,它的工作方式相同,但没有index参数,并添加到列表的末尾。< / p>
numpy.
append
( arr,值,轴=无 )将值附加到数组的末尾。
如果你考虑一下,这就好像你有阵列一样:
[3, 7]
你试图插入值4和索引0,然后它会这样做:
[4, 3, 7]
使用该逻辑,您应该始终添加元素,否则如何将项目放在列表的开头?您需要prepend
功能。
如果你需要一个prepend
函数或append
函数来允许在数组的末尾插入,我认为最有意义的是实现{{1}因为它需要更频繁的功能。