Pandas: como adicionar uma nova coluna com números de linha
Existem duas maneiras de adicionar uma nova coluna contendo números de linha a um DataFrame do pandas:
Método 1: use atribuir()
df = df. assign (row_number= range ( len (df)))
Método 2: use reset_index()
df[' row_number '] = df. reset_index (). index
Ambos os métodos produzem o mesmo resultado.
Os exemplos a seguir mostram como usar cada método na prática com o seguinte DataFrame do pandas:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], ' points ': [5, 17, 7, 19, 12, 13, 9, 24], ' assists ': [4, 7, 7, 6, 8, 7, 10, 11]}) #view DataFrame print (df) team points assists 0 to 5 4 1 B 17 7 2 C 7 7 3 D 19 6 4 E 12 8 5 F 13 7 6 G 9 10 7:24 a.m. 11
Exemplo 1: Use atribua() para adicionar uma coluna de número de linha
O código a seguir mostra como usar a função assign() para adicionar uma nova coluna chamada row_number que exibe o número de cada linha no DataFrame:
#add column that contains row numbers
df = df. assign (row_number= range ( len (df)))
#view updated DataFrame
print (df)
team points assists row_number
0 to 5 4 0
1 B 17 7 1
2 C 7 7 2
3 D 19 6 3
4 E 12 8 4
5 F 13 7 5
6 G 9 10 6
7:24 11 7
Observe que os valores na coluna row_number variam de 0 a 7.
Exemplo 2: Use reset_index() para adicionar uma coluna de número de linha
O código a seguir mostra como usar a função reset_index() para adicionar uma nova coluna chamada row_number que exibe o número de cada linha no DataFrame:
#add column that contains row numbers
df[' row_number '] = df. reset_index (). index
#view updated DataFrame
print (df)
team points assists row_number
0 to 5 4 0
1 B 17 7 1
2 C 7 7 2
3 D 19 6 3
4 E 12 8 4
5 F 13 7 5
6 G 9 10 6
7:24 11 7
Observe que os valores na coluna row_number variam de 0 a 7.
Isso corresponde aos resultados do exemplo anterior.
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns em pandas:
Pandas: como encontrar a diferença entre duas colunas
Pandas: como encontrar a diferença entre duas linhas
Pandas: como subtrair duas colunas