`Улучшение производительности в цикле python 'for': мне нужно знать, как я могу решить, эффективен ли мой цикл или нет? Если он повторяет число циклов X, какое должно быть приемлемое время?
Я пытался создать функцию для создания таблицы распределения частот с помощью Python. У меня есть непрерывные данные в виде массива numpy, я хочу сделать интервалы класса и поместить каждый элемент в эти интервалы класса (я использую 'для цикла', чтобы сделать это). Я создал функцию, но я не уверен, эффективна ли моя функция.
def maketable(data,bins):
data=np.array(data)
edges=np.linspace(min(data),max(data),bins) #creating classintervals
classes={(edges[x],edges[x+1]):0 for x in range(bins-1)} #{tuple of classlimits:frequency}
#for every value in data array we check if it falls in an interval(a bin) if yes,increment frequency
for val in data:
for interval in classes.keys():
if val>=interval[0] and val<=interval[1]:
classes[interval]+=1
break
return(classes)
"Закончен" maketable "за 0,17328 с". Данные содержат 20 604 значения, и выполнение функции занимает 0,17 с. Я хочу знать, нормально ли это или нет. Я ценю любую помощь.