apply().Оказывается есть способы, которые работают быстрее:
1️⃣ Через
loc : сделать несколько конструкций с loc, которые будут по-очереди прогонять условия и изменять значение категории (важно заметить, что тут нужно, чтобы условия были от максимального к минимальному). Получаем 77 мс вместо 131 мс на 540К значений.2️⃣ Самый быстрый. Через метод
cut() : этот метод позволяет разбить данные на бины (корзинки) в соответствии с заранее обозначенными диапазонами. А затем каждому бину можно назначить название с помощью параметра labels. Параметр include_lowest указывает на то, что нижняя граница корзины попадает в соответствующую корзину, а не в предыдущую. Метод cut() выдаёт 22 мс (!) на 540К значений. Судя по исходному коду, это всё магия numpy 💫В погоне за скоростью важно всегда экспериментировать с решениями 💪
