Pandas 数据帧assign()方法

原文:https://www.studytonight.com/pandas/pandas-dataframe-assign-method

在本教程中,我们将学习 PandasDataFrame.assign()的方法。此方法向数据帧分配新列,并返回一个新对象,其中除了新列之外,还包含所有原始列。已经存在并重新分配的列将被覆盖。

下图显示了DataFrame.assign()方法的语法。

句法

DataFrame.assign(**kwargs)

因素

夸脱:列名代表关键词。如果这些值是可调用的,它们将在数据帧上计算并分配给新列。可调用的不能改变输入数据帧。如果值不可调用,如数列、标量或数组,则简单地赋值。

示例 1:使用DataFrame.assign()方法为数据帧分配新列

我们可以使用DataFrame.assign()方法向数据帧中添加一个新列。下面的例子显示了同样的情况。

import pandas as pd
data = {'A':[1,2,3,4,5],'B':[6,7,8,9,10]}
df = pd.DataFrame(data) 
print("----After adding a column to the DataFrame----")
print(df.assign(C=[11,12,13,14,15]))

一旦我们运行程序,我们将得到以下结果。

-在数据帧中添加一列后- A B C 0 1 6 11 1 2 7 12 2 3 8 13 3 4 9 14 4 5 10 15

示例 2:使用DataFrame.assign()方法为数据帧分配新列

下面的示例显示了如何通过将函数传递给DataFrame.assign()方法来为数据帧分配新列。

import pandas as pd
data = {'A':[1,2,3,4,5],'B':[6,7,8,9,10]}
df = pd.DataFrame(data) 
print("----After adding a column to the DataFrame----")
print(df.assign(C=lambda x: x.A+1))

一旦我们运行程序,我们将得到以下结果。

-在数据帧中添加一列后- A B C 0 1 6 2 1 2 7 3 2 3 8 4 3 4 9 5 4 5 10 6

示例 3:使用DataFrame.assign()方法为数据帧分配多列

我们可以使用DataFrame.assign()方法向数据帧中添加多列。下面的例子显示了同样的情况。

import pandas as pd
data = {'A':[1,2,3,4,5],'B':[6,7,8,9,10]}
df = pd.DataFrame(data) 
print("----After adding columns to the DataFrame----")
print(df.assign(C=lambda x: x.B+1,D=lambda x: x.C+1,E=lambda x: x.A+1))

一旦我们运行程序,我们将得到以下结果。

-在数据帧中添加列后- A B C D E 0 1 6 7 8 2 1 2 7 8 9 3 2 3 8 9 10 4 3 4 9 10 11 5 4 5 10 11 12 6

结论

在本教程中,我们学习了 PythonPandasDataFrame.assign()方法。我们理解了语法和参数,通过求解示例,我们将单列和多列添加到数据帧中。