Что такое apply для датафреймов

«Что такое apply для датафреймов» — вопрос из категории Pandas, который задают на 33% собеседований Аналитик Данных. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

apply — это метод pandas для применения функции к строкам или столбцам DataFrame. Он позволяет выполнять сложные операции без явных циклов.

Основные варианты:

  • df.apply(func) — применяет func к каждому столбцу (по умолчанию axis=0).
  • df.apply(func, axis=1) — применяет func к каждой строке.

Пример:

import pandas as pd

df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})

# Сумма по столбцам (axis=0)
print(df.apply(sum))  

# Сумма по строкам (axis=1)
print(df.apply(sum, axis=1))  

# Лямбда-функция для преобразования
df['C'] = df.apply(lambda row: row['A'] + row['B'], axis=1)

Нюансы:

  • Медленнее, чем векторные операции (df['A'] + df['B']).
  • Для сложных преобразований можно передавать именованные функции.
  • Альтернативы: map, applymap (для поэлементных операций).