【发布时间】:2019-11-24 00:04:48
【问题描述】:
所以我有一个 numpy 字符串数组,其中包含用空格分隔的数值,例如:
np.array(['1 2', '3 4'])
array(['1 2', '3 4'], dtype='<U3')
我想把它转换成一个数值矩阵,比如:
np.array([[1,2],[3,4]])
array([[1, 2],[3, 4]])
我正在寻找一种可以利用 numpy vecotrized 操作的操作,因为速度在这里很重要。在此示例中,行的长度为 2,但我需要一种具有任意行长度的通用方法。
谢谢!
【问题讨论】:
-
我使用
np.char.split和pd.Series.str.split提出了两个矢量化解决方案,但在接受的重复目标答案中,它们都比本机 Python 循环慢。 -
@Georgy 你能发布这些解决方案吗,也许它们使用更大的数组更快,这是我的情况
-
@Georgy 谢谢!我认为 np.char.split 的解决方案应该是最快的,我在 numpy tracker 中发布了一个问题
标签: python arrays string numpy character