반응형
NumPy로 CDF를 만들고 싶습니다. 내 코드는 다음과 같습니다.
histo = np.zeros(4096, dtype = np.int32)
for x in range(0, width):
for y in range(0, height):
histo[data[x][y]] += 1
q = 0
cdf = list()
for i in histo:
q = q + i
cdf.append(q)
나는 배열을 걷고 있지만 프로그램 실행에 오랜 시간이 걸립니다. 이 기능에 내장 된 기능이 있지 않습니까?
해결 방법
코드가 무엇을하는지 잘 모르겠지만 numpy.histogram
에서 반환 한 hist
및 bin_edges
배열이있는 경우 < code> numpy.cumsum 을 사용하여 히스토그램 콘텐츠의 누적 합계를 생성합니다.
>>> import numpy as np
>>> hist, bin_edges = np.histogram(np.random.randint(0,10,100), normed=True)
>>> bin_edges
array([ 0. , 0.9, 1.8, 2.7, 3.6, 4.5, 5.4, 6.3, 7.2, 8.1, 9. ])
>>> hist
array([ 0.14444444, 0.11111111, 0.11111111, 0.1 , 0.1 ,
0.14444444, 0.14444444, 0.08888889, 0.03333333, 0.13333333])
>>> np.cumsum(hist)
array([ 0.14444444, 0.25555556, 0.36666667, 0.46666667, 0.56666667,
0.71111111, 0.85555556, 0.94444444, 0.97777778, 1.11111111])
참조 페이지 https://stackoverflow.com/questions/10640759
반응형
'파이썬' 카테고리의 다른 글
파이썬 'str'객체는 Python에서 항목 할당을 지원하지 않습니다. (0) | 2021.02.17 |
---|---|
파이썬 Python에서 두 개의 동일한 크기 이미지 오버레이 (0) | 2021.02.17 |
파이썬을 사용하여 기존 파일에 줄을 추가하는 방법 (0) | 2021.02.17 |
파이썬 목록 생성 및 초기화 (0) | 2021.02.17 |
파이썬 첫 번째 인수로 인스턴스가있는 바인딩되지 않은 메서드는 문자열을 얻었지만 다른 것이 필요합니다. (0) | 2021.02.17 |
댓글