假设数组是[1,2,3,4]。我想让这个数组像这样 [1,3,4,None]。 说明:我想删除 2 并在数组末尾插入 None 。帮助我仅使用 numpy 和基本循环,(不使用删除、弹出)
感谢您的帮助,请随时提供建议
import numpy as np
def shift(arr):
for i in range(0,len(arr)-1):
if arr[i] == 2:
arr[i] = arr[i+1]
#arr[len(arr)-1] = None <--- this line also giving error
return arr
arr = np.array([1,2,3,4,5])
print(shift(arr))
pad
:
arr = np.array([1,2,3,4,5])
mask = arr == 2
out = np.pad(arr[~mask].astype(float), (0, mask.sum()), constant_values=np.nan)
输出:
array([ 1., 3., 4., 5., nan])