pythonnumpy:如何识别数组中具有最小个数的列或行

pythonnumpy:如何识别数组中具有最小个数的列或行,python,arrays,numpy,Python,Arrays,Numpy,我正在寻找一个代码,它接受一个二维numpy数组,并返回每列或每行中1的比例除以1比例最小的列或行。 这就是我到目前为止所做的: if axis==1: m=np.array((a==1).sum(1)/ # something here ) else: m=np.array((a==1).sum(0)/ #something here ) 假设您沿着轴轴(0或1)工作。首先查找1的行/列计数: counts = (arr==1).sum(axis=axis) 现在,您可以找

我正在寻找一个代码,它接受一个二维numpy数组,并返回每列或每行中1的比例除以1比例最小的列或行。 这就是我到目前为止所做的:

if axis==1:
    m=np.array((a==1).sum(1)/ # something here )
else:
    m=np.array((a==1).sum(0)/ #something here )

假设您沿着轴
(0或1)工作。首先查找1的行/列计数:

counts = (arr==1).sum(axis=axis)
现在,您可以找到最小计数的索引,从计数列表中选择适当的计数,并将所有其他计数除以它:

counts / counts[counts.argmin()]

请记住,最小计数可以是0。

您的意思是“并将该行或列除以该行或列…”?那么你怎么处理一的和呢?我的意思是把一的和除以行或列中一的和,再除以最小比例的一。那么,你说的“一的比例”是什么意思呢?有多少?1相对于行/列长度的分数?你的问题不清楚,除非你重写,否则你不可能得到答案。这更清楚吗?我如何处理除以0的情况?