Как в pandas применить функцию ко всем строкам или элементам?

Для строк DataFrame используйте apply(axis=1), для отдельных элементов — map. Если возможно, замените Python-функцию векторной операцией.

Короткий ответ

Что ответить на собеседовании

Для строк DataFrame используйте apply(axis=1), для отдельных элементов — map. Если возможно, замените Python-функцию векторной операцией.

Подробный разбор

Ответ с пояснениями

Для строк DataFrame используйте apply(axis=1), для отдельных элементов — map. Если возможно, замените Python-функцию векторной операцией.

Пример по строкам: df.apply(lambda row: row['a'] + row['b'], axis=1). Проще и обычно быстрее: df['a'] + df['b']. Для каждого значения столбца подходит df['a'].map(func), для всех ячеек — df.map(func) в pandas начиная с 2.1. Ранее этот метод назывался applymap. apply(axis=0) передаёт функции столбцы, а не строки.

Источник: pandas.pydata.org, pandas.pydata.org.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее