在 numpy.insert 数组的第 n 个位置插入元素
Insert element at nth position in Array with numpy.insert
我尝试将 np.nan 个值插入数组的第 n 个位置。期望的输出:
array(['1', 'nan', 'nan', '2', test', '3'])
我试过这个代码:
position = [1,2]
array= np.array([1,2,'test', 3])
array= np.insert(array, position, np.nan)
但它是在索引 1 和 3 处插入值:
array(['1', 'nan', '2', 'nan', 'test', '3'])
我该如何解决这个问题?
位置应该是[1, 1]。位置2在2和'test'之间,1在1和2之间。插入它们的索引是索引在初始数组中的位置,而不是它们结束的位置。
两个 np.nan
的插入将一起发生。因此,如果您使用 [1,2]
,则索引 1 将介于 1
和 2
之间,而索引 2 将介于 2
和 'test'
之间。
如果要插入连续值,位置需要为[1,1]
。
import numpy as np
position = [1,1]
array = np.array([1,2,'test', 3])
array = np.insert(array, position, np.nan)
print(array)
输出:
['1' 'nan' 'nan' '2' 'test' '3']
numpy.insert() 函数在给定索引前插入值。
即
对于给定的数组:
[1, 2,'test',3]
0 1 2 3 -> index
在位置=[1,2]插入将在原始数组中的索引1(值=2)和索引2(值='test')之前插入值,即
[1, ___, 2, ___, 'test',3]
为了让两个nan都插入到索引1之前,写成
import numpy as np
position = [1,1]
array= np.array([1,2,'test', 3])
array= np.insert(array, position, np.nan)
print(array)
你会得到想要的结果:
['1' 'nan' 'nan' '2' 'test' '3']
Note: This position array is not the index of the new values you want to insert, it is the index before which you want to insert the new values
我尝试将 np.nan 个值插入数组的第 n 个位置。期望的输出:
array(['1', 'nan', 'nan', '2', test', '3'])
我试过这个代码:
position = [1,2]
array= np.array([1,2,'test', 3])
array= np.insert(array, position, np.nan)
但它是在索引 1 和 3 处插入值:
array(['1', 'nan', '2', 'nan', 'test', '3'])
我该如何解决这个问题?
位置应该是[1, 1]。位置2在2和'test'之间,1在1和2之间。插入它们的索引是索引在初始数组中的位置,而不是它们结束的位置。
两个 np.nan
的插入将一起发生。因此,如果您使用 [1,2]
,则索引 1 将介于 1
和 2
之间,而索引 2 将介于 2
和 'test'
之间。
如果要插入连续值,位置需要为[1,1]
。
import numpy as np
position = [1,1]
array = np.array([1,2,'test', 3])
array = np.insert(array, position, np.nan)
print(array)
输出:
['1' 'nan' 'nan' '2' 'test' '3']
numpy.insert() 函数在给定索引前插入值。
即 对于给定的数组:
[1, 2,'test',3]
0 1 2 3 -> index
在位置=[1,2]插入将在原始数组中的索引1(值=2)和索引2(值='test')之前插入值,即
[1, ___, 2, ___, 'test',3]
为了让两个nan都插入到索引1之前,写成
import numpy as np
position = [1,1]
array= np.array([1,2,'test', 3])
array= np.insert(array, position, np.nan)
print(array)
你会得到想要的结果:
['1' 'nan' 'nan' '2' 'test' '3']
Note: This position array is not the index of the new values you want to insert, it is the index before which you want to insert the new values