1

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

非常感谢您提前。

4

2 回答 2

2

假设数组被调用points并且 numpy 已经被导入:

newpoints = numpy.array([x.split(',') for x in points], dtype=numpy.float)
于 2013-07-19T10:48:17.993 回答
2

数组中的元素是字符串而不是数字。您可以遍历此(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)
于 2013-07-19T10:48:24.270 回答