Spec-Zone.ru › pandas 0.25

pandas.DataFrame.transform

DataFrame.transform(self, func, axis=0, *args, **kwargs) [source]

Вызов func на self, возвращающий 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.25.0/reference/api/pandas.DataFrame.transform.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API