3
저는 파이썬을 처음 사용합니다.효율적인 배열 방식으로 어떻게 배열 작업을 수행 할 수 있습니까?
만약 내가 (m x n) 배열을 가지고 있다면 어떤 열이 특정 값의 최대 반복을 갖는지 어떻게 찾을 수 있습니까? 1 ? 이것을하기 위해 반복 루프를 작성하는 것보다 쉬운 조작이 있습니까?
저는 파이썬을 처음 사용합니다.효율적인 배열 방식으로 어떻게 배열 작업을 수행 할 수 있습니까?
만약 내가 (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