В языке Python, как и во многих других языках программирования, есть лямбда-функции — компактный способ записи функций, содержащих одно выражение. Лямбды анонимные и бывают полезны в случаях, когда нужна небольшая одноразовая функция. Их часто применяют в функциональном программировании — когда сама функция или её результат используются в качестве аргумента функции более высокого порядка. Распространённая на практике задача — применение операции к каждому элементу списка с помощью функции map(). Здесь как раз удобно использовать лямбду. Например, выражение list(map(lambda x: x**2, 1, 2, 3)) последовательно возведёт каждый элемент исходного списка в квадрат и положит их в новый список. Как лямбда-функции могут пригодиться в анализе данных? Допустим, у вас есть таблица с данными о количестве покупок, совершённых каждым клиентом в текущем месяце. Вам необходимо рассчитать долю клиентов, сделавших за это время не менее пяти покупок. Для решения этой задачи можно воспользоваться библиотекой pandas, вызвать у столбца метод .apply() и подать ему на вход в качестве аргумента короткую лямбда-функцию с условной конструкцией, применив в конце метод .mean() для расчёта среднего значения: df'purchases'.apply(lambda x: 1 if x >= 5 else 0).mean() Такая запись применит лямбда-функцию к каждому элементу колонки «purchases» и преобразует её в серию, состоящую из нулей и единиц, где единице будет соответствовать количество покупок, большее или равное 5. Среднее значение нового массива будет соответствовать искомой доле клиентов, совершивших необходимое количество покупок. Совет: лямбда-функциями не стоит злоупотреблять. Если есть ощущение, что выражение будет слишком громоздким и сложным для восприятия, лучше написать обычную функцию. #полезное@karpovcourses

Теги других блогов: лямбда-функции