3
我是python的新手。如何以有效的方式進行這種numpy數組操作?
如果我有一個(m x n)數組,我如何才能找到哪個列具有特定值的最大重複次數,例如。 1?有沒有簡單的操作,而不是寫迭代循環來做到這一點。
我是python的新手。如何以有效的方式進行這種numpy數組操作?
如果我有一個(m x n)數組,我如何才能找到哪個列具有特定值的最大重複次數,例如。 1?有沒有簡單的操作,而不是寫迭代循環來做到這一點。
歡迎來到python和numpy。您可以通過首先檢查數組中的哪些值爲1,然後對每列進行計數並最終獲取argmax來獲得最多1的列。在代碼中,它看起來是這樣的:
>>> import numpy as np
>>> (m, n) = (4, 5)
>>> a = np.zeros((m, n))
>>> a[2, 3] = 1.
>>>
>>> a_eq_1 = a == 1
>>> repetitions = a_eq_1.sum(axis=0)
>>> np.argmax(repetitions)
3
或者更簡潔:
>>> np.argmax((a == 1).sum(axis=0))
3
驚人,理解,強大的語言確實:) –
一個真正numpythonic答案! – ebarr