Python é uma ótima linguagem para fazer análise de dados, principalmente por causa do fantástico ecossistema de pacotes python centrados em dados. O Pandas é um desses pacotes e torna a importação e análise de dados muito mais fácil.

Dataframe.assign()O método atribui novas colunas a um DataFrame, retornando um novo objeto (uma cópia) com as novas colunas adicionadas às originais. As colunas existentes reatribuídas serão sobrescritas.

O comprimento da coluna recém-atribuída deve corresponder ao número de linhas no dataframe.

Sintaxe: DataFrame.assign (** kwargs)

Parâmetros:
kwargs: palavras - chave são os nomes das colunas. Se os valores puderem ser chamados, eles serão calculados no DataFrame e atribuídos às novas colunas. O chamável não deve alterar o DataFrame de entrada (embora os pandas não o verifiquem). Se os valores não puderem ser chamados (por exemplo, uma série, escalar ou array), eles serão simplesmente atribuídos.



Retorna: Um novo DataFrame com as novas colunas além de todas as colunas existentes.

Para obter o link para o arquivo CSV usado no código, clique aqui

Exemplo # 1: Atribua uma nova coluna chamada Revised_Salary com um incremento de 10% do Salário original.

# 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)

Saída:

 
Exemplo # 2: Atribuição de mais de uma coluna por vez

# 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)

Saída: