获取二维 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。您还可以编辑您的问题而不是添加评论。
我是 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。您还可以编辑您的问题而不是添加评论。