我想颠倒NumPy数组中每个字符串元素中的字符顺序.例如,给定以下输入:
array(['2', '3', '5', '7', '11', '13', '17', '19', '23', '29', '31', '37',
'41', '43', '47', '53', '59', '61', '67', '71', '73', '79', '83',
'89', '97'], dtype='<U2')
我希望获得以下输出(101):
array(['2', '3', '5', '7', '11', '31', '71', '91', '32', '92', '13', '73',
'14', '34', '74', '35', '95', '16', '76', '17', '37', '97', '38',
'98', '79'], dtype='<U2')
我知道我可以使用arr[::-1]
来颠倒NumPy数组中元素的顺序,但这不是这个问题的主题,而且np.array([e[::-1] for e in arr])
的效率很低,而且不符合NumPy的观点.
该数组是使用基本转换函数np.vectorize(to_base_str)
的矢量化版本创建的.
如何使用矢量化来反转NumPy数组的每个字符串元素中的字符顺序?我在网上搜索过,但没有找到解决方案.请注意,arr[..., ::-1]
不适用于NumPy数组中的字符串元素.
(代码是我的,但我确实使用了"AI建议的编辑"功能)