Недавно я заметил интересное поведение в numpy. Я собираю единый массив с формой (17544,520,1200). Когда я строю его таким образом:
import numpy as np
import time
t0 = time.time()
# method 1
array = np.ones((17544,520,1200))
t1=time.time()
print(t1-t0)
#46.65...
Массив строится без проблем. Но когда я пытаюсь:
# method 2
array = np.ones((520,1200,17544))
Моя оболочка i python вылетает (zsh: killed ipython
)
Почему это?
Дополнительное примечание: это для итерации по каждому элементу массива 520x1200, и, если этот элемент не равен нулю, замены оси размера 17544 одномерным массивом этого размера. Есть ли лучший способ сделать это, кроме поэлементной итерации и вставки?