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()
方法。我们理解了语法和参数,通过求解示例,我们将单列和多列添加到数据帧中。