pandas.DataFrame.applymap
-
DataFrame.applymap(self, func)[source] -
Применить функцию к элементам DataFrame поэлементно.
Этот метод применяет функцию, которая принимает и возвращает скалярное значение, к каждому элементу DataFrame.
Параметры: -
func : callable -
Функция Python, возвращающая единственное значение из единственного значения.
Возвращает: - DataFrame
-
Преобразованный DataFrame.
См. также
-
DataFrame.apply - Применить функцию вдоль входной оси DataFrame.
Примечания
В текущей реализации applymap вызывает
funcдважды для первой колонки/строки, чтобы определить, может ли она использовать быстрый или медленный путь кода. Это может привести к неожиданному поведению, еслиfuncимеет побочные эффекты, так как они будут действовать дважды для первой колонки/строки.Примеры
>>> df = pd.DataFrame([[1, 2.12], [3.356, 4.567]]) >>> df 0 1 0 1.000 2.120 1 3.356 4.567>>> df.applymap(lambda x: len(str(x))) 0 1 0 3 4 1 5 5
Обратите внимание, что часто существует векторизованная версия
func, которая будет намного быстрее. Вы можете возвести в квадрат каждое число поэлементно.>>> df.applymap(lambda x: x**2) 0 1 0 1.000000 4.494400 1 11.262736 20.857489Но в этом случае лучше избегать applymap.
>>> df ** 2 0 1 0 1.000000 4.494400 1 11.262736 20.857489 -
© 2008–2012, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/0.25.0/reference/api/pandas.DataFrame.applymap.html