Spec-Zone.ru › pandas 0.22

pandas.DataFrame.assign

DataFrame.assign(**kwargs) [source]

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

Параметры:

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

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

Возвращаемое значение:

df : DataFrame

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

Примечания

Для Python 3.6 и выше столбцы вставляются в порядке **kwargs. Для Python 3.5 и ранее, так как **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.22.0/generated/pandas.DataFrame.assign.html

Spec-Zone.ru

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