我有一串弦

>>> lines
array(['RL5\\Stark_223', 'RL5\\Stark_223', 'RL5\\Stark_223', ...,
       'RL5\\Stark_238', 'RL5\\Stark_238', 'RL5\\Stark_238'],
      dtype='|S27')

为什么我可以索引到第一个数组元素的字符串中
>>> lines[0][0:3]
'RL5'

但并非所有数组元素都位于同一位置
>>> lines[:][0:3]
array(['RL5\\Stark_223', 'RL5\\Stark_223', 'RL5\\Stark_223'],
      dtype='|S27')

有人能推荐一种方法得到以下结果吗?
数组(['rl5'、'rl5'、'rl5'、…'rl5'、'rl5')

最佳答案

要提取每个字符串的第一个字符,您可以滥用:

>>> s = np.array(['RL5\\Stark_223', 'RL5\\Stark_223', 'RL5\\Stark_223'])
>>> s
array(['RL5\\Stark_223', 'RL5\\Stark_223', 'RL5\\Stark_223'],
      dtype='|S13')
>>> s.astype('|S3')
array(['RL5', 'RL5', 'RL5'],
      dtype='|S3')

10-07 13:06