如何解决索引越界错误?

时间:2016-12-14 01:47:13

标签: python ipython radio astronomy

我对我一直遇到的错误感到有些困惑。我之前没有,但同时我的数据是错误的,所以我不得不重新编写代码。

运行以下内容:

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

现在,我在这里尝试做的基本上是在校准数据中读取文件中的每4行并将其写入新的数组,校准[i]。如果指数大小相同,它们是如何超出范围的?我认为这里存在一些根本上有缺陷的逻辑,所以如果有人能指出我的不足之处,那就太好了。

1 个答案:

答案 0 :(得分:0)

{ "plugins": [ ["module-resolver", { "root": ["."], "alias": { "components": "./components" } }] ] } 初始化为大小(39,n)。但import App from 'components/App.react';迭代器远不止于此:

calib