将元素插入numpy数组
问题描述:
列表有一个非常简单的方法来插入元素:
Lists have a very simple method to insert elements:
a = [1,2,3,4]
a.insert(2,66)
print a
[1, 2, 66, 3, 4]
对于numpy
数组,我可以这样做:
For a numpy
array I could do:
a = np.asarray([1,2,3,4])
a_l = a.tolist()
a_l.insert(2,66)
a = np.asarray(a_l)
print a
[1 2 66 3 4]
但是这很令人费解.
numpy
数组是否有insert
等效项?
答
您可以使用 numpy.insert
,尽管与list.insert
不同,它会返回一个新数组,因为NumPy中的数组具有固定大小.
You can use numpy.insert
, though unlike list.insert
it returns a new array because arrays in NumPy have fixed size.
>>> import numpy as np
>>> a = np.asarray([1,2,3,4])
>>> np.insert(a, 2, 66)
array([ 1, 2, 66, 3, 4])