Если вы делаете al oop для создания строк, numpy не будет очень эффективным, потому что потребуется перераспределять и копировать содержимое памяти на каждой итерации. Вы могли бы также создать список в обычном Python и преобразовать его в матрицу numpy только в конце, когда вы знаете размер.