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]。インデックスが同じサイズの場合、どのように境界から外れていますか?私はここに根本的に欠陥のある論理があると思うので、誰かが私がどこに足りなくなっているかを指摘できれば、それは素晴らしいだろう。
私はcalibdata // 4であるとき、それはので、私は4 + 3はcalibdataの終わりを超えて読みます627です* 156です。 –
私はあなたが範囲(0、np.size(calibdata)// 4 - 1)に必要と思います –