2014-05-11 5 views
0

은 내 문제를 노출하자 Y = f (X)비닝 값

X 값은 간격 [0; 1]에 속합니다.

numpy.histogram은이 간격에서 사전 정의 된 동일 간격의 저장소에서 X 값을 비닝 할 수 있습니다.

"for"루프를 수행하지 않고 각 bin에 해당하는 Y 값을 합한 것입니다.

답변 해 주셔서 감사합니다.

+0

X의 값을''np.histogram()'''''bins''의 인수에 할당하고 있습니까? – wwii

답변

1

y 값이 해당 위치, 즉 y[i] = f(x[i])이라고 가정하면 numpy.digitize을 사용하여 x 값이 속한 저장소의 색인을 찾고 해당 색인을 사용하여 해당 y 값을 합산 할 수 있습니다 . numpy 예에서

(값이 [0; 1] 내에 있지 않은 것을 무시) :

>>> x = np.array([0.2, 6.4, 3.0, 1.6]) 
>>> bins = np.array([0.0, 1.0, 2.5, 4.0, 10.0]) 
>>> inds = np.digitize(x, bins) 
>>> inds 
array([1, 4, 3, 2]) 

후 Y의 값을 요약 :

>>> aggregate = [y[inds == i].sum() for i in np.unique(inds)] 

당신이 쓰레기통을 만드는 어려움을 겪고있는 경우 너 자신은 numpy.linspace을 봐라.

numpy.linspace(0, 1, num=50, endpoint=True) 
+0

니스, 나는 예제 코드없이 텍스트 설명에서 OP 문제를 파악할 수 없었다. ... 더 많은 커피! – wwii

+0

ㅎ, 고마워요. 김이 나는 컵을 즐기십시오. – Midnighter

관련 문제