У меня возникли вопросы, подобные этому, но никто не обратился напрямую к проблеме. Я приурочил следующие два способа заполнения массива и половину времени, используя np.zeros() быстрее, а половина времени делает это напрямую быстрее. Есть ли предпочтительный способ? Я совершенно новичок в использовании массивов numpy и участвовал в ускорении моего кода, не слишком много думая о удобочитаемости.Самый быстрый способ заполнить массив 1D numpy
import numpy as np
import time
lis = range(100000)
timer = time.time()
list1 = np.array(lis)
print 'normal array creation', time.time() - timer, 'seconds'
timer = time.time()
list2 = np.zeros(len(lis))
list2.fill(lis)
print 'zero, fill - array creation', time.time() - timer, 'seconds'
Спасибо
вещий способ эталонной скорости выполнения использует [ 'timeit'] (http://docs.python.org /library/timeit.html). – mac
@mac ok Я буду использовать это с этого момента. Это в значительной степени первый раз/профиль (cProfiler), который мне нужен для выполнения моих функций. – Anake