Numpy Pick 具有特定列号的子数组
Numpy Pick subarrays with spcific column numbers
我已经使用 numpy 代码创建了一个 3D 点坐标:
xyzlist = np.mgrid[0:m,0:m,0:m]
points = xyzlist.reshape(3,-1).T
积分结果如
[[0,0,0],[0,0,1],[0,0,2],[0,0,3],[0,1,0],[0,1,1],[0,1,2],[0,1,3],[0,2,0],[0,2,1],[0,2,2],[0,2,3],[0,3,0],[0,3,1],[0,3,2],[0,3,3]........]
如何选择y
= 1
或3
或5
...等(奇数)和[=16的特定点=] = 1
或 3
或 5
...等(奇数)?
即[[0,1,1],[0,1,3],[0,3,1],[0,3,3]]?
的points数组
有没有什么简单的方法可以在 numpy 中执行此操作,因为我的积分比这些多很多?
使用这个:
points[((points[:, 1] == 1) | (points[:, 1] == 3)) & ((points[:, 2] == 1) | (points[:, 2] == 3))]
points[:, 1]
是第2列,y
,points[:, 2]
是第3列,z
.
我已经使用 numpy 代码创建了一个 3D 点坐标:
xyzlist = np.mgrid[0:m,0:m,0:m]
points = xyzlist.reshape(3,-1).T
积分结果如
[[0,0,0],[0,0,1],[0,0,2],[0,0,3],[0,1,0],[0,1,1],[0,1,2],[0,1,3],[0,2,0],[0,2,1],[0,2,2],[0,2,3],[0,3,0],[0,3,1],[0,3,2],[0,3,3]........]
如何选择y
= 1
或3
或5
...等(奇数)和[=16的特定点=] = 1
或 3
或 5
...等(奇数)?
即[[0,1,1],[0,1,3],[0,3,1],[0,3,3]]?
的points数组
有没有什么简单的方法可以在 numpy 中执行此操作,因为我的积分比这些多很多?
使用这个:
points[((points[:, 1] == 1) | (points[:, 1] == 3)) & ((points[:, 2] == 1) | (points[:, 2] == 3))]
points[:, 1]
是第2列,y
,points[:, 2]
是第3列,z
.