Como inserir uma coluna em um dataframe do pandas
Muitas vezes você pode querer inserir uma nova coluna em um DataFrame do pandas. Felizmente, isso é fácil de fazer usando a função pandas insert() , que usa a seguinte sintaxe:
inserir(loc,coluna,valor,allow_duplicates=Falso)
Ouro:
- loc: índice no qual inserir a coluna. A primeira coluna é 0.
- coluna: Nome a ser dado à nova coluna.
- valor: Array de valores para a nova coluna.
- permitir_duplicates: permitir ou não que o novo nome da coluna corresponda ao nome da coluna existente. O padrão é falso.
Este tutorial mostra vários exemplos de uso prático desta função.
Exemplo 1: Insira uma nova coluna como a primeira coluna
O código a seguir mostra como inserir uma nova coluna como a primeira coluna de um DataFrame existente:
import pandas as pd #createDataFrame df = pd.DataFrame({'points': [25, 12, 15, 14, 19], 'assists': [5, 7, 7, 9, 12], 'rebounds': [11, 8, 10, 6, 6]}) #view DataFrame df points assists rebounds 0 25 5 11 1 12 7 8 2 15 7 10 3 14 9 6 4 19 12 6 #insert new column 'player' as first column player_vals = ['A', 'B', 'C', 'D', 'E'] df. insert (loc= 0 , column='player', value=player_vals) df player points assists rebounds 0 to 25 5 11 1 B 12 7 8 2 C 15 7 10 3 D 14 9 6 4 E 19 12 6
Exemplo 2: Insira uma nova coluna como coluna do meio
O código a seguir mostra como inserir uma nova coluna como a terceira coluna de um DataFrame existente:
import pandas as pd #createDataFrame df = pd.DataFrame({'points': [25, 12, 15, 14, 19], 'assists': [5, 7, 7, 9, 12], 'rebounds': [11, 8, 10, 6, 6]}) #insert new column 'player' as third column player_vals = ['A', 'B', 'C', 'D', 'E'] df. insert (loc= 2 , column='player', value=player_vals) df points assists player rebounds 0 25 5 A 11 1 12 7 B 8 2 15 7 C 10 3 14 9 D 6 4 19 12 E 6
Exemplo 3: Insira uma nova coluna como última coluna
O código a seguir mostra como inserir uma nova coluna como a última coluna de um DataFrame existente:
import pandas as pd #createDataFrame df = pd.DataFrame({'points': [25, 12, 15, 14, 19], 'assists': [5, 7, 7, 9, 12], 'rebounds': [11, 8, 10, 6, 6]}) #insert new column 'player' as last column player_vals = ['A', 'B', 'C', 'D', 'E'] df. insert (loc= len (df.columns) , column='player', value=player_vals) df points assists player rebounds 0 25 5 A 11 1 12 7 B 8 2 15 7 C 10 3 14 9 D 6 4 19 12 E 6
Observe que usar len(df.columns) permite inserir uma nova coluna como a última coluna de qualquer dataFrame, independentemente de quantas colunas ela possa conter.
Você pode encontrar a documentação completa da função insert() aqui .