我是python的新手,所以我需要一些帮助:
我有 2D 数字数组,表示空间中一圈材料的密度,我想找到中心。所以我想得到代表直径的数字的索引,然后中间的索引将是中心。在此代码中,我只存储密度的值:tempdiameter.append(cell)我想要单元格本身的索引。我该怎么做。我也不想使用直径列表。那么如何创建动态一维NP阵列呢?谢谢
for row in x:
for cell in row:
if cell!=0:
tempdensity+=cell
tempdiameter.append(cell)
if tempdensity>maxdensity:
maxdensity=tempdensity
if len(tempdiameter)>=len(diameter):
diameter=tempdiameter
tempdensity=0
tempdiameter=[]
获取具有最多非零单元格数和最高总和的行,您可以执行的操作
densities = x.sum(axis=1)
lengths = (x > 0).sum(axis=1)
center = x[(densities == densities.max()) & (lengths == lengths.max()]
尽量避免在 numpy
中使用循环。如果这不是您想要的,请告诉我,我会尝试更好地回答它。提问时应提供示例输入/输出。您还可以编辑问题,而不是添加评论。