pandas.DataFrame.transform
-
DataFrame.transform(func, axis=0, *args, **kwargs)[source] -
Вызовите
funcдля себя, создавая DataFrame с преобразованными значениями, у которого длина оси такая же, как и у self.Новая в версии 0.20.0.
Параметры: -
func : function, str, list or dict -
Функция для преобразования данных. Если функция, должна работать, когда ей передаётся DataFrame или когда она передаётся в DataFrame.apply.
Допустимые комбинации:
- функция
- имя функции
- список функций и/или имён функций, например
[np.exp. 'sqrt'] - словарь меток осей -> функций, имён функций или списка таких.
-
axis : {0 or ‘index’, 1 or ‘columns’}, default 0 -
Если 0 или ‘index’: применяет функцию к каждому столбцу. Если 1 или ‘columns’: применяет функцию к каждой строке.
- *args
-
Позиционные аргументы для передачи в
func. - **kwargs
-
Ключевые аргументы для передачи в
func.
Возвращает: - DataFrame
-
DataFrame, длина которого должна быть такой же, как у self.
Возбуждает: -
ValueError : If the returned DataFrame has a different length than self.
См. также
-
DataFrame.agg - Выполнять только операции агрегирования.
-
DataFrame.apply - Вызвать функцию для DataFrame.
Примеры
>>> df = pd.DataFrame({'A': range(3), 'B': range(1, 4)}) >>> df A B 0 0 1 1 1 2 2 2 3 >>> df.transform(lambda x: x + 1) A B 0 1 2 1 2 3 2 3 4Несмотря на то, что результирующий DataFrame должен иметь такую же длину, как и входной DataFrame, можно предоставить несколько входных функций:
>>> s = pd.Series(range(3)) >>> s 0 0 1 1 2 2 dtype: int64 >>> s.transform([np.sqrt, np.exp]) sqrt exp 0 0.000000 1.000000 1 1.000000 2.718282 2 1.414214 7.389056 -
© 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.24.2/reference/api/pandas.DataFrame.transform.html