Python是进行数据分析的一种出色语言,主要是因为以数据为中心的python软件包具有奇妙的生态系统。 Pandas是其中的一种,使导入和分析数据更加容易。
Dataframe.assign()方法将新列分配给DataFrame,返回新对象(副本),并将新列添加到原始对象。重新分配的现有列将被覆盖。
新分配的列的长度必须与 DataFrame 中的行数匹配。
用法: DataFrame.assign(**kwargs)
参数:
kwargs:关键字是列名。如果这些值是可调用的,则它们将在DataFrame上计算并分配给新列。可调用对象不得更改输入DataFrame(尽管 Pandas 不会对其进行检查)。如果值是不可调用的(例如,Series,标量或数组),则将它们简单分配。
返回:一个新的DataFrame,其中除了所有现有列之外,还包含新列。
有关在代码中使用的CSV文件的链接,请单击此处
范例1:分配一个名为Revised_Salary 以原始工资的10%递增。
# importing pandas as pd 
import pandas as pd 
  
# Making data frame from the csv file 
df = pd.read_csv("nba.csv") 
  
# Printing the first 10 rows of 
# the data frame for visualization 
df[:10]
# increase the salary by 10 %  
df.assign(Revised_Salary = lambda x:df['Salary'] 
                               + df['Salary']/10)输出:

范例2:一次分配多个列
# importing pandas as pd 
import pandas as pd 
  
# Making data frame from the csv file 
df = pd.read_csv("nba.csv") 
  
# First column ='New_Team', this column 
# will append '_GO' at the end of each team name. 
# Second column ='Revised_Salary' will increase  
# the salary of all employees by 10 %  
df.assign(New_team = lambda x:df['Team']+'_GO',  
          Revised_Salary = lambda x:df['Salary']  
                             + df['Salary'] / 10)输出:

相关用法
- Python pandas.map()用法及代码示例
 - Python Pandas Series.str.len()用法及代码示例
 - Python Pandas.factorize()用法及代码示例
 - Python Pandas TimedeltaIndex.name用法及代码示例
 - Python Pandas dataframe.ne()用法及代码示例
 - Python Pandas Series.between()用法及代码示例
 - Python Pandas DataFrame.where()用法及代码示例
 - Python Pandas Series.add()用法及代码示例
 - Python Pandas.pivot_table()用法及代码示例
 - Python Pandas Series.mod()用法及代码示例
 - Python Pandas Dataframe.at[ ]用法及代码示例
 - Python Pandas Dataframe.iat[ ]用法及代码示例
 - Python Pandas.pivot()用法及代码示例
 - Python Pandas dataframe.mul()用法及代码示例
 - Python Pandas.melt()用法及代码示例
 
注:本文由纯净天空筛选整理自Shubham__Ranjan大神的英文原创作品 Python | Pandas dataframe.assign()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
