2014-09-18 2 views
1

나는 아주 큰 행렬 (500000 * 24)을 ndarray로 가지고 있으며 해당 열을 해당 열 min으로 곱하고 싶습니다. 나는 for 루프를 사용하여 작업을했지만, 나는 이것이 작업을 수행하는 멍청한 방법이 아니라는 것을 계속 읽고있다. 이러한 작업을 수행하는 적절한 방법이 있습니까 (나중에 상수를 뺄 수도 있습니다). 미리 감사드립니다.Numpy 열 현명한 곱셈

답변

2

예. 배열에 최소 벡터를 직접 곱하면됩니다. 예가 아래에 나와 있습니다. 당신이 (50 만 개 값의 최소 촬영) 크기 (24)의 minimum 배열을 생성하고자하는 경우

import numpy as np 

data = np.random.random((500000, 24)) 
# This returns an array of size 500,000 that is the row of 24 values 
minimum = data.min(axis=1) 

data = data * minimum 

당신은 axis=0을 선택합니다.

set of slides은 이러한 작업이 어떻게 작동하는지 설명합니다.

+0

답변 해 주셔서 감사합니다. 이 코드는 최소 배열 수와 곱해질 것입니다. min – tix3

+0

@ tix3 실수를 저지르고 코드를 수정했습니다. 의도 한대로 작동합니까? – Ffisegydd

1

정상적으로 곱하면 안됩니까?

import numpy 
a = numpy.random.random((4,2)) 
b = a * numpy.min(a,axis=0)