Pandas: como inserir uma linha em uma posição de índice específica


Você pode usar a seguinte sintaxe básica para inserir uma linha em uma posição de índice específica em um DataFrame do pandas:

 #insert row in between index position 2 and 3
df. loc [ 2.5 ] = value1, value2, value3, value4

#sort index
df = df. sort_index (). reset_index (drop= True )

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: insira uma linha em uma posição de índice específica no Pandas

Suponha que temos o seguinte DataFrame do pandas:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' points ': [18, 22, 19, 14, 14, 11, 20, 28],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
print (df)

  team points assists rebounds
0 A 18 5 11
1 B 22 7 8
2 C 19 7 10
3 D 14 9 6
4 E 14 12 6
5 F 11 9 5
6 G 20 9 9
7:28 4 12

Podemos usar a seguinte sintaxe para inserir uma linha entre as posições de índice 2 e 3:

 #insert row in between index position 2 and 3
df. loc [ 2.5 ] = 'Z', 10, 5, 7

#sort index
df = df. sort_index (). reset_index (drop= True )

#view updated DataFrame
print (df)

  team points assists rebounds
0 A 18 5 11
1 B 22 7 8
2 C 19 7 10
3 Z 10 5 7
4 D 14 9 6
5 E 14 12 6
6 F 11 9 5
7 G 20 9 9
8:28 a.m. 4:12

Observe que uma linha foi inserida entre as posições de índice anteriores 2 e 3 com as seguintes informações:

  • equipe: Z
  • pontos: 10
  • assistências: 5
  • rebotes: 7

Usando as funções sort_index() e reset_index() , conseguimos reatribuir valores ao índice variando de 0 a 8.

Observe que a nova linha deve conter o mesmo número de valores que o número de colunas existentes.

Por exemplo, se tentássemos inserir uma nova linha com apenas três valores, receberíamos um erro:

 #attempt to insert row with only three values
df. loc [ 2.5 ] = 10, 5, 7

ValueError : cannot set a row with mismatched columns

Recebemos um ValueError porque o número de valores na nova linha não corresponde ao número de colunas existentes no DataFrame.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras operações comuns em pandas:

Como inserir uma coluna em um DataFrame do Pandas
Como adicionar linhas a um DataFrame do Pandas
Como excluir linhas no Pandas DataFrame com base na condição

Add a Comment

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