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()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。