【发布时间】:2016-08-12 14:54:18
【问题描述】:
您好,我是新手,希望您能回答我的问题或帮助我找到更好的方法!
假设我有一组 x,y,z 坐标,我想将其细分为包含 x,y,z 空间总体积的特定体积 (dV) 内的点的数组。
我一直在尝试先按 x 值对每个 x、y、z 坐标进行排序,然后将 dx 细分为数组的新维度,然后在每个细分维度中,对 y 值进行排序并重新划分dy,然后沿z轴相同,给出排序和细分的坐标
我试图创建一个数组以将坐标集附加到...
def splitter(array1):
xSortx = np.zeros([10,1,3])
for j in range(0,10):
for i in range(len(array1)) :
if (j * dx) <= array1[i][0] < (j + 1)*dx:
np.append(xSortx[j],array1[i])
一切似乎都在工作,但附加部分,我听说 python 中的附加可能会很麻烦,所以我尝试的另一种方法是首先创建多维矩阵以填充它,但我遇到了我没有的问题知道如何创建一个多维矩阵,例如,在第二维中可能有 1 个条目,但在第二个 ex 的下一个索引中有 5 个条目:[[[0,0,0]],[[0,0,0],[ 0,0,0],[0,0,0],[0,0,0],[0,0,0]]].
我非常感谢任何提示或建议,如果这不是很清楚,请告诉我,我会尝试更多解释!
【问题讨论】:
-
请展示您获得的输出和所需输出的最小示例。 “追加不起作用”对我们来说太模糊了,无法提供帮助。如果问题是错误,则显示错误消息。
-
另一方面,您可以将常规嵌套列表用作具有所需维度灵活性的多维数组,而不是 numpy
-
您是否试图仅细分为 2 个类别,即卷内的点和卷外的点?您是否有可能使这个问题更容易解决的几何约束(例如,体积是球体还是矩形框)?
-
Julien,我没有收到任何错误,而是在打印最终数组 xSortx 时,我收到了原始的零数组。
-
奥利弗,我正在尝试将整个空间划分为许多相似的矩形框,然后将单个框内的所有点分组到一些可访问的数组中
标签: python arrays sorting numpy multidimensional-array