Spec-Zone.ru › pandas 0.19

pandas.DataFrame.assign

DataFrame.assign(**kwargs) [source]

Присваивание новых столбцов DataFrame, возвращающее новый объект (копию) со всеми исходными столбцами плюс новые.

Новая в версии 0.16.0.

Параметры:

kwargs : пары «ключ-значение»

ключами являются имена столбцов. Если значения являются вызываемыми объектами, они вычисляются для DataFrame и присваиваются новым столбцам. Вызываемый объект не должен изменять входной DataFrame (хотя pandas этого не проверяет). Если значения не являются вызываемыми объектами (например, Series, скалярное значение или массив), они просто присваиваются.

Возвращает:

df : DataFrame

Новый DataFrame со всеми существующими столбцами плюс новые.

Примечания

Поскольку kwargs является словарем, порядок ваших аргументов может не сохраняться. Для предсказуемости столбцы вставляются в алфавитном порядке в конец вашего DataFrame. Возможно присваивание нескольких столбцов в одном assign, но вы не можете ссылаться на другие столбцы, созданные в том же assign вызове.

Примеры

>>> df = DataFrame({'A': range(1, 11), 'B': np.random.randn(10)})

Где значение является вызываемым объектом, оцениваемым на df:

>>> df.assign(ln_A = lambda x: np.log(x.A))
    A         B      ln_A
0   1  0.426905  0.000000
1   2 -0.780949  0.693147
2   3 -0.418711  1.098612
3   4 -0.269708  1.386294
4   5 -0.274002  1.609438
5   6 -0.500792  1.791759
6   7  1.649697  1.945910
7   8 -1.495604  2.079442
8   9  0.549296  2.197225
9  10 -0.758542  2.302585

Где значение уже существует и вставляется:

>>> newcol = np.log(df['A'])
>>> df.assign(ln_A=newcol)
    A         B      ln_A
0   1  0.426905  0.000000
1   2 -0.780949  0.693147
2   3 -0.418711  1.098612
3   4 -0.269708  1.386294
4   5 -0.274002  1.609438
5   6 -0.500792  1.791759
6   7  1.649697  1.945910
7   8 -1.495604  2.079442
8   9  0.549296  2.197225
9  10 -0.758542  2.302585

© 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.19.2/generated/pandas.DataFrame.assign.html

Spec-Zone.ru

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