Python / Numpy — извлечение 2-мерного подмассива из 2-мерного массива с использованием переменных

#python #variables #numpy #arrays

#питон #переменные #numpy #массивы

Вопрос:

Итак, у меня есть двумерный массив данных, который имеет форму (23025, 1000), он называется «allfiles».

Мне нужно просмотреть массив из 50 столбцов за раз и извлечь их в подмассив для манипулирования. Проблема в том, что когда я обращаюсь к массиву, используя приведенный ниже код, он, похоже, не распознает переменные (a и b). код, который у меня есть на данный момент, показан ниже.

     q = 50
    a = np.shape(allfiles)[1] # a = 1000
    for i in range(a):
        b = a   q
        data = allfiles[:,a:b]
 

Когда я заменяю переменные на число, т.е…

     data = allfiles[:,30:80]
 

Кажется, это работает. Итак, мой вопрос таков: есть ли способ, которым я могу передавать переменные в индекс массива? Если нет, есть ли лучший способ, которым я могу создать подмассив с использованием переменных?

Я безуспешно пытался найти эту проблему при переполнении стека, но я уверен, что я не первый человек, у которого возникла эта проблема?

Приветствую, ребята, Морган

Ответ №1:

Вы получаете i информацию из цикла, но не используете ее.

 q = 50

for start in xrange(0, allfiles.shape[1], q):
    data = allfiles[:,start:start q]
    ...
 

Комментарии:

1. Ура, это все уладило для меня.