获取二维 numpy 数组中某个元素的索引

Getting index of a certain element in a 2D numpy array

我是 python 的新手,所以我需要一些帮助:

我有二维数字数组,表示 material 圆在 space 中的密度,我想找到圆心。 所以我想获得代表直径的数字索引,然后中间索引将成为中心。在此代码中,我仅存储密度值: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 中使用循环。如果这不是您想要的,请告诉我,我会尽力更好地回答。提问时应提供样本input/output。您还可以编辑您的问题而不是添加评论。