当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


Python Pandas dataframe.assign()用法及代码示例

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)

输出:



相关用法


注:本文由纯净天空筛选整理自Shubham__Ranjan大神的英文原创作品 Python | Pandas dataframe.assign()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。