numpy 从逗号开始将数组行拆分为列

hvvq6cgz  于 2023-06-29  发布在  其他
关注(0)|答案(3)|浏览(121)

我有一个由53个3D点组成的列表,我将列表转换为numpy数组,然后我有一个(53,)形状数组。每行由三个浮点组成,用逗号分隔(例如a_t[0]= 73.72,32.27,74.95)。有人知道如何将这个numpy数组转换为(53,3)吗?换句话说,我想为每个xyz坐标将每行拆分为三列。
先谢谢你了。

yfjy0ee7

yfjy0ee71#

假设数组名为points,并且numpy已经被导入:

newpoints = numpy.array([x.split(',') for x in points], dtype=numpy.float)
w51jfk4q

w51jfk4q2#

数组中的元素是字符串而不是数字。你可以循环遍历这个(53,)字符串数组中的每一行,使用split(',')在逗号处分割每一行,并将结果放入一个新的numpy数组中,该数组具有数值数据类型:

a = np.array(['1,2,3','4,5,6','7,8,9','10,11,12'])
 b = np.array([l.split(',') for l in a],dtype=np.float32)
brjng4g3

brjng4g33#

这是给其他正在奋斗的人的:

import numpy as np
newpoints = np.array([np.split(x, 3) for x in points], dtype=np.float32)

相关问题