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

2024-10-04 05:25:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚接触python,因此需要一些帮助:

我有一个二维的数字数组,代表一个空间中一个圆形物质的密度,我想找到中心。 所以我想得到代表直径的数字的索引,然后中间的索引就是中心。在这个代码中,我只存储密度的值:温度直径.append(单元格) 我要单元格本身的索引。我怎么能做到呢。 我也不想用列表来表示直径。那么如何创建一个动态的一维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=[]

Tags: inforlenifcell代表数字数组
1条回答
网友
1楼 · 发布于 2024-10-04 05:25:25

若要获取非零单元格数最多且总和最大的行,请执行以下操作

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

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

相关问题 更多 >