【发布时间】:2013-10-27 20:23:15
【问题描述】:
作为我正在处理的更广泛程序的一部分,我最终得到了带有字符串、3D 坐标等的对象数组。我知道与结构化数组相比,对象数组可能不是很受欢迎,但我希望在不更改大量代码的情况下解决这个问题。
假设我的数组 obj_array 的每一行(有 N 行)的格式为
Single entry/object of obj_array: ['NAME',[10.0,20.0,30.0],....]
现在,我正在尝试加载此对象数组并切片 3D 坐标块。到这里为止,一切都很好,只需询问让我们说 for 。
obj_array[:,[1,2,3]]
但是结果也是一个对象数组,我会遇到问题,因为我想用以下方法形成一个 2D 浮点数组:
size [N,3] of N rows and 3 entries of X,Y,Z coordinates
现在,我正在遍历行并将每一行分配给目标 2D 浮点数组的一行以解决该问题。我想知道 numpy 的数组转换工具是否有更好的方法?我尝试了一些方法,但无法解决。
Centers = np.zeros([N,3])
for row in range(obj_array.shape[0]):
Centers[row,:] = obj_array[row,1]
谢谢
【问题讨论】:
-
您能否展示一个简单的示例代码 - 原始数据是什么样的,您的转换代码是什么样的?它会让别人更容易给你适当的建议。
标签: python arrays object numpy 2d