當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。