获取 2D numpy 数组中某个元素的索引



我是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 中使用循环。如果这不是您想要的,请告诉我,我会尝试更好地回答它。提问时应提供示例输入/输出。您还可以编辑问题,而不是添加评论。

相关内容

  • 没有找到相关文章

最新更新