Найти тему

Spped up Python

10 практик кода, ускоряющих выполнение программ на Python
  • Генераторы списков
  • enumerate() для превращения списка в пары индекс-значение
  • zip() для перебора нескольких списков
  • Проверка на True
  • Цикл for внутри функции

Как ускорить обработку данных в Pandas в 600 раз

ВЕКТОРИЗАЦИЯ NUMPY

Когда у вас есть 1 условие и два выбора (одно от if, другое от else), то используйте функцию NumPy — where(condition, if, else). Функция where принимает первым аргументом условие, вторым — результат выполнения условия, третьим — результат невыполнения условия.

Когда у вас есть цепочка условий, используйте функцию NumPy — select(1, 2, 3). Она принимает на вход :

  1. список условий,
  2. список возвращаемых значений,
  3. значение по умолчанию (то, что стоит в else).

ВЛОЖЕННЫЕ УСЛОВИЯ

Иногда внутри условия может стоять ещё дополнительные условия. Поскольку вложенность подразумевает выполнение одновременно нескольких условий, то мы просто можем добавить амперсанд & между такими условиями в select.