IndexError: индекс 11 выходит за пределы оси 3 с размером 11, а список содержит 12 элементов. - PullRequest
0 голосов
/ 09 января 2020

Я прочитал несколько сообщений об ошибке индекса, но все они начинались с 1; Здесь я начал с индекса 0, но у меня есть ошибка

Я читаю файл с 12 столбцами с этим:

    fid.shape
    for j in range(ny):
        for i in range(nx): 
            fieldMatrix[fcount,i,j,0] = fid["a1"][count]
            print "col0"
            fieldMatrix[fcount,i,j,1] = fid["a2"][count]
            print "col1"
            fieldMatrix[fcount,i,j,2] = fid["a3"][count]
            print "col2"
            fieldMatrix[fcount,i,j,3] = fid["a4"][count]
            print "col3"
            fieldMatrix[fcount,i,j,4] = fid["a5"][count]
            print "col4"
            fieldMatrix[fcount,i,j,5] = fid["a6"][count]
            print "col5"
            fieldMatrix[fcount,i,j,6] = fid["a7"][count]
            print "col6"
            fieldMatrix[fcount,i,j,7] = fid["a8"][count]
            print "col7"
            fieldMatrix[fcount,i,j,8] = fid["a9"][count]
            print "col8"
            fieldMatrix[fcount,i,j,9] = fid["a10"][count]
            print "col9"
            fieldMatrix[fcount,i,j,10] = fid["a11"][count]
            print "col10"
            fieldMatrix[fcount,i,j,11] = fid["a12"][count]
            print "col11"
            count += 1

Поскольку число столбцов равно 12 => самый высокий индекс было бы 11. Но я получаю это:

    (61104, 12)
     col0
     col1
     col2
     col3
     col4
     col5
     col6
     col7
     col8
     col9
     col10
     Traceback (most recent call last):
         fieldMatrix[fcount,i,j,11] = fid["a12"][count]
     IndexError: index 11 is out of bounds for axis 3 with size 11

1 Ответ

0 голосов
/ 09 января 2020

Проверка формы fieldMatrix:

    (100,402,152,11)

Мне пришлось увеличить размер fieldMatrix для 12-го элемента.

    (100,402,152,12)
...