0
저는 계속해서 오류가 발생하면 혼란 스럽습니다. 전에는 없었지만 동시에 데이터가 잘못되어 코드를 다시 작성해야했습니다.어떻게 아웃 바운드 인덱스 오류를 해결할 수 있습니까?
실행 다음
plt.figure(figsize=(20,10))
x = np.arange(1416, 1426, 0.009766)
gaverage = np.empty((21,1024), dtype = np.float64)
calibdata = open(pathc + 'calib_5m.dat').readlines()
#print(np.size(calibdata)) ||| Yields: 624
#print(np.size(calibdata)//16) ||| Yields: 39
calib = np.empty(shape=(np.size(calibdata)//16,1024), dtype=np.float64)
for i in range(0, np.size(calibdata)//4):
calib[i] = calibdata[i*4+3].split()
caverage = np.average(calib[i] ,axis = 0)
이 나타냅니다이 : 이제
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-25-87f3f4739851> in <module>()
11 calib = np.empty(shape=(np.size(calibdata)//16,1024), dtype=np.float64)
12 for i in range(0, np.size(calibdata)//4):
---> 13 calib[i] = calibdata[i*4+3].split()
14 caverage = np.average(calib[i] ,axis = 0)
15
IndexError: index 39 is out of bounds for axis 0 with size 39
나는 기본적으로 calibdata에서 읽은 파일의 모든 4 선 '에 기록되어 여기에서 노력하고있어 새로운 배열, calib [i]. 인덱스가 같은 크기 인 경우 어떻게 범위를 벗어 납니까? 내 생각에 근본적으로 결점이있는 논리가 여기에 있다고 생각합니다. 누군가가 내가 떨어지는 부분을 지적 할 수 있다면 좋을 것입니다.
를 내가 156이다 calibdata // 4 때 그래서 4 + 3 calibdata의 끝을 넘어 읽을 * 627이다. –
그래서 나는 당신이 범위 (0, np.size (calibdata) // 4 - 1)에 필요하다고 생각합니다. –