如何切片 np 数组的每个元素并将其存储在新的 ndarray 中?

How to slice every element of nparray and store it in new nparray?

如果这是我的nparray

arr_str = np.array(['10', '100', '301', '23423'])

我想使用切片转换成这样 获取 str a[-1] 中的最后一个字符,其中 a 是 nparray

中的元素
arr_slice = np.array(['0', '0', '1', '3'])

就像我们如何将数字添加到 nparray 的每个元素一样

arr_str.asType(int) + 5

为什么不使用列表理解?

>>> np.array([x[-1] for x in arr_str])
array(['0', '0', '1', '3'], dtype='<U1')

或者,您可以使用 % 模运算符:

>>> arr_str.astype(int) % 10
array([0, 0, 1, 3])

这个简短的答案,试试这个:

np.array(list(map(lambda x : int(x[-1]) , list(arr_str)))) + 5
# array([5, 5, 6, 8])