相关疑难解决方法(0)

如何将具有对象dtype的Numpy 2D数组转换为常规的浮点数2D数组

作为我正在研究的更广泛的程序的一部分,我最终得到了包含字符串,3D坐标等的对象数组.我知道与结构化数组相比,对象数组可能不是很受欢迎,但我希望在不改变大量代码的情况下解决这个问题.

让我们假设我的数组obj_array(有N行)的每一行的格式都是

Single entry/object of obj_array:  ['NAME',[10.0,20.0,30.0],....] 
Run Code Online (Sandbox Code Playgroud)

现在,我正在尝试加载此对象数组并切片3D坐标块.到目前为止,一切正常,只需要问一下.

obj_array[:,[1,2,3]]
Run Code Online (Sandbox Code Playgroud)

然而,结果也是一个对象数组,我将面临问题,因为我想形成一个浮点数的二维数组:

size [N,3] of N rows and 3 entries of X,Y,Z coordinates
Run Code Online (Sandbox Code Playgroud)

现在,我循环遍历行并将每一行分配给目标2D flot数组的一行以解决问题.我想知道numpy的阵列转换工具是否有更好的方法?我尝试了一些东西,无法绕过它.

Centers   = np.zeros([N,3])

for row in range(obj_array.shape[0]):
    Centers[row,:] = obj_array[row,1]
Run Code Online (Sandbox Code Playgroud)

谢谢

python arrays 2d numpy object

15
推荐指数
3
解决办法
3万
查看次数

标签 统计

2d ×1

arrays ×1

numpy ×1

object ×1

python ×1