从 numpy 字符串数组的每个元素中提取前 n 个字符

Luc*_*nno 2 arrays string numpy

我有一个 NumPy 数组,其元素是字符串。例如

import numpy as np    
a = np.array(["abcde", "degag"])
Run Code Online (Sandbox Code Playgroud)

我需要从数组的每个元素(substr/strleft)中提取前 n 个字符。前 3 个字符的结果应该是一个如下所示的数组:

array(['abc', 'deg'], dtype='<U3')
Run Code Online (Sandbox Code Playgroud)

非常感谢

hpa*_*ulj 5

它几乎正盯着你的脸:

In [93]: a = np.array(["abcde", "degag"])
In [94]: a.astype('U3')
Out[94]: array(['abc', 'deg'], dtype='<U3')
Run Code Online (Sandbox Code Playgroud)

否则你必须迭代

In [95]: [s[:3] for s in a]
Out[95]: ['abc', 'deg']
Run Code Online (Sandbox Code Playgroud)