Python Pandas dataframe.assign()

Python Pandas dataframe.assign()

Python是一种进行数据分析的伟大语言,主要是因为以数据为中心的Python包的奇妙生态系统。Pandas就是这些包中的一个,它使导入和分析数据变得更加容易。

Dataframe.assign()方法为一个DataFrame分配新的列,返回一个新的对象(一个副本),新的列被添加到原来的列中。被重新分配的现有列将被覆盖。

新分配的列的长度必须与数据框架中的行数一致。

语法: DataFrame.assign(**kwargs)

参数:
**kwargs :关键字是列的名称。如果这些值是可调用的,它们会在DataFrame上被计算出来并被分配到新的列中。可调用的值不能改变输入的DataFrame(尽管pandas不检查它)。如果这些值是不可调用的,(例如,系列、标量或数组),它们将被简单地分配。

返回:一个新的DataFrame,除了现有的所有列之外,还有新的列。

例子#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]
Python

Python Pandas dataframe.assign()

# increase the salary by 10 % 
df.assign(Revised_Salary = lambda x: df['Salary']
                               + df['Salary']/10)
Python

输出:
Python Pandas dataframe.assign()

例子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

输出:
Python Pandas dataframe.assign()

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册