У меня есть функция, которая возвращает словарь.Функция работает, вычисляя значения на основе массива в кадре данных.
Кадр данных имеет около 1000 000 строк и выглядит следующим образом:
col1
row1 [2, 3, 44, 89.6,...]
row2 [10, 4, 33.3, 1.11,...]
row3 [3, 4, 3, 2.6, 5.9, 8, 10,...]
Моя функция принимает каждый массив в каждомrow, выполняет некоторые вычисления и возвращает словарь, основанный на этих вычислениях.Тем не менее, это очень медленно.Я просматриваю много данных, которые я ценю, но есть ли способ улучшить скорость?
Проблемы Длина кадра данных велика.Каждый массив может содержать более 100 значений.Диапазон значений от 10 до 80.
Мой код выглядит следующим образом:
list1 = []
for i in df.itertuples():
list1.append(list(function(i.data).values()))
Идея в том, что я перебираю каждую строку в 'df', применяю свою функцию к 'данным'и добавить результаты в список' list1 '.
Объясненная функция
Моя функция вычисляет довольно простые вещи.Он принимает массив в качестве параметра и вычисляет материал на основе этого массива, например, как долго это будет, среднее значение в массиве, минимальное и максимальное значения массива.Я вычисляю 8 значений и сохраняю их в словаре.Последнее, что делает моя функция, это просматривает эти вычисленные значения и добавляет окончательный ключ к словарю в виде логического значения.