Ответ
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(для поэлементных операций).