将数组行从逗号分割为列

时间:2013-07-19 10:42:15

标签: python numpy

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

非常感谢你。

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

数组中的元素是字符串而不是数字。您可以循环遍历此(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)