2017-03-17 22 views
0

我正在尋找一個代碼,它需要一個二維numpy數組並返回每列中的比例或行除以具有最小比例的列或行。 這是我到目前爲止有:python numpy:如何識別數組中具有最小數目的列或行

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

您的意思是「並將_row或column_除以行或列...」嗎?那麼你對這些總和做了什麼? – DyZ

+0

我的意思是用一行或一列中的最小比例的列的總和除以1的總和 – Hannnnn

+0

那麼你是什麼意思的「比例的」,然後呢?數量?相對於行/列長度的分數?你的問題還不清楚,除非你重寫它,否則你不可能得到答案。 – DyZ

回答

0

假設你沿着軸線axis工作(即0或1)。通過發現的1的行/列數開始:

counts = (arr==1).sum(axis=axis) 

您現在可以找到的最小數量的指標,請從計數的列表中選擇合適的計數,並通過它把所有其他罪名:

counts/counts[counts.argmin()] 

請記住,最小的計數可以是0.

+0

我如何處理我除以0的情況? – Hannnnn

相關問題