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

时间:2015-06-12 13:05:23

标签: python numpy multidimensional-array indexing dynamic-arrays

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

我有2D数组,表示空间中材料圆的密度,我想找到中心。 所以我想得到代表直径的数字的索引,然后中间索引将是中心。在这段代码中我只存储密度的值:tempdiameter.append(cell) 我想要单元格本身的索引。我怎样才能做到这一点。 我也不想使用直径列表。那么如何创建动态1D 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=[]

1 个答案:

答案 0 :(得分:0)

要获得具有最高数量的非零单元格的行和可以执行的最高总和

 densities = x.sum(axis=1)
 lengths = (x > 0).sum(axis=1)
 center = x[(densities == densities.max()) & (lengths == lengths.max()]

尽量避免在numpy中使用循环。如果这不是你想要的,请告诉我,我会尽力回答。您在提问时应提供样本输入/输出。您也可以编辑问题而不是添加评论。