2017-04-05 1 views
1

이 오류를 이해하는 데 어려움이 있습니다. 작동하는 예와 그 중 관심이있는 예는 이 아니며이 아닙니다.NumPy 히스토그램 - ValueError 범위 매개 변수는 유한 입력 배열이어야합니다.

나는 sys_prices라고 거기에 전체 년, 시간별 가격 데이터 세트를 분석해야 - 다양한 변환 후 - 8785 행 (1 열)와 numpy.ndarray 객체이며, 모든 행은 numpy.ndarray 항목입니다 요소가 하나만있는 경우 numpy.float64입니다. 즉, 매 시간 해상도를 준수하도록

stop_day = 95 
start_day = stop_day - 10 # 10 days before 
stop_day = (stop_day-1)*24 
start_day = (start_day-1)*24 

pcs=[] # list of prices to analyse 
for ii in range(start_day, stop_day): 
    pcs.append(sys_prices[ii][0]) 

p, x = np.histogram(pcs, bins='fd') 

*24 부분 조정 데이터 셋 내의 인덱스이다

코드 하지 작업은 다음과 같다. 그게 내 히스토그램의 값을 얻을 수 및 빈은 및 X각각 페이지로 가장자리 그래서 내가 무엇을 기대

히스토그램 방법 목록 pcs을 공급하는 것입니다.

는 내가 기대하는 말을이 때문에 작동 다음 코드 :

start_day = 1 
start_month = 1 
start_year = 2016 
stop_day = 1 
stop_month = 2 
stop_year = 2016 
num_prices = (date(stop_year, stop_month, stop_day) - date(start_year, start_month, start_day)).days*24 

jan_prices = [] 
for ii in range(num_prices): 
    jan_prices.append(sys_prices[ii][0]) 

p, x = np.histogram(jan_prices, bins='fd') # bin the data` 

작업 하나가 선택 일부터 거꾸로 시작하는 임의의 기간 내에 10 일 분석되는 코드의 차이입니다 작업 예제는 1 월의 모든 가격 (예 : 데이터 세트의 첫 번째 744 값)을 사용합니다.

이상한 (R) 일 : 나는 stop_day 다른 값을 사용하고, 99 또는 100 또는 200 하지을 할 때 95 오류를 제기 것으로 보인다.

도와 주시겠습니까?

+0

스택 추적을 포함하여 정확한 오류 메시지를 알려주세요. – user2357112

+0

입력에 무한 또는 NaN 값이있는 것 같습니다. – user2357112

+0

@ user2357112 예, 이것이 들리는 것입니다. 그러나 왜 동일한 데이터 세트를 다른 방식으로 슬라이스했는지, 때로는 그 오류를 생성하는지 때때로 이해하지 못합니다. 전체 오류는 다음과 같습니다 '역 추적 (마지막으로 가장 최근 통화) : 페이지에서 파일 ""줄 11, X = np.histogram (개, 쓰레기통 = 'fd') # bin 데이터 파일 "C : \ Users \ Filippo \ Anaconda3 \ lib \ site-packages \ numpy \ lib \ function_base.py"(줄 669)는 히스토그램 의 범위 매개 변수가 유한 여야합니다. ') ValueError : range 매개 변수가 유한해야합니다.' –

답변

1

내가 해결할 수없는 데이터 세트에 단일 NaN이있었습니다.

nanlist=[] 
for ii in range(len(array)): 
    if numpy.isnan(array[ii]): 
     nanlist.append(ii) 

array이 당신의 컨테이너입니다 : 방법을 발견하는 방법 궁금 분들을 위해

, 방금 항목의 인덱스를 찾으려면이 코드를 사용했다.

+1

이 루프는'np.argwhere (np.isnan (array)))'로 할 수 있습니다. –

+0

@DanD. 고마워, 나는 그 방법을 몰랐다! 더 빨라야합니다. 맞죠? –

+0

더 중요한 것은 둘 이상의 차원을 가진 배열에서 작동한다는 것입니다. –

관련 문제