Como usar o método assign() em pandas (com exemplos)


O método assign() pode ser usado para adicionar novas colunas a um DataFrame do pandas.

Este método usa a seguinte sintaxe básica:

 df. assign (new_column = values)

É importante observar que este método exibirá apenas o novo DataFrame no console, mas na verdade não modificará o DataFrame original.

Para modificar o DataFrame original, você precisará armazenar os resultados do método assign() em uma nova variável.

Os exemplos a seguir mostram como usar o método assign() de diferentes maneiras com o seguinte DataFrame do pandas:

 import pandas as pd

#define DataFrame
df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
print (df)

   points assists rebounds
0 25 5 11
1 12 7 8
2 15 7 10
3 14 9 6
4 19 12 6
5 23 9 5
6 25 9 9
7 29 4 12

Exemplo 1: Atribuir uma nova variável ao DataFrame

O código a seguir mostra como usar o método assign() para adicionar uma nova variável ao DataFrame chamada points2 cujos valores são iguais aos valores da coluna de pontos multiplicados por dois:

 #add new variable called points2
df. assign (points2 = df.points * 2 )

    points assists rebounds points2
0 25 5 11 50
1 12 7 8 24
2 15 7 10 30
3 14 9 6 28
4 19 12 6 38
5 23 9 5 46
6 25 9 9 50
7 29 4 12 58

Observe que este método assign() não modifica o DataFrame original.

Se imprimirmos o DataFrame original, veremos que ele permanece inalterado:

 #print original DataFrame
print (df)

   points assists rebounds
0 25 5 11
1 12 7 8
2 15 7 10
3 14 9 6
4 19 12 6
5 23 9 5
6 25 9 9
7 29 4 12

Para salvar os resultados do método assign() , podemos armazenar os resultados em um novo DataFrame:

 #add new variable called points2 and save results in new DataFrame
df. assign (points2 = df.points * 2 )

#view new DataFrame
print (df_new)

   points assists rebounds points2
0 25 5 11 50
1 12 7 8 24
2 15 7 10 30
3 14 9 6 28
4 19 12 6 38
5 23 9 5 46
6 25 9 9 50
7 29 4 12 58

O novo DataFrame chamado df_new agora contém a coluna points2 que criamos.

Exemplo 2: Atribuir várias novas variáveis ao DataFrame

O código a seguir mostra como usar o método assign() para adicionar três novas variáveis ao DataFrame:

 #add three new variables to DataFrame and store results in new DataFrame
df_new = df. assign (points2 = df. points * 2 ,
                   assists_rebs = df. assists + df. rebounds ,
                   conference = ' Western ')

#view new DataFrame
print (df_new)

   points assists rebounds points2 assists_rebs conference
0 25 5 11 50 16 Western
1 12 7 8 24 15 Western
2 15 7 10 30 17 Western
3 14 9 6 28 15 Western
4 19 12 6 38 18 Western
5 23 9 5 46 14 Western
6 25 9 9 50 18 Western
7 29 4 12 58 16 Western

Observe que três novas colunas foram adicionadas ao DataFrame.

Nota : Você pode encontrar a documentação completa do método pandas assign() aqui .

Recursos adicionais

Os tutoriais a seguir explicam como usar outras funções comuns em pandas:

Como usar a função description() no Pandas
Como usar a função idxmax() no Pandas
Como aplicar uma função a colunas selecionadas no Pandas

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *