Como reverter um dataframe do pandas (com exemplo)


Você pode usar a seguinte sintaxe básica para reverter as linhas de um DataFrame do pandas:

 df_reversed = df[::-1]

Se quiser reverter as linhas do DataFrame e redefinir os valores do índice, você pode usar a seguinte sintaxe:

 df_reversed = df[::-1]. reset_index (drop= True )

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

Exemplo: como reverter um DataFrame do Pandas

Suponha que temos o seguinte DataFrame do pandas que contém informações sobre vários jogadores de basquete:

 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]})

#view DataFrame
print (df)

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

Podemos usar a seguinte sintaxe para reverter as linhas do DataFrame:

 #create new DataFrame with rows reversed
df_reversed = df[::-1]

#view new DataFrame
print (df_reversed)

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

Observe que a ordem das linhas do DataFrame foi invertida.

No entanto, cada linha ainda contém seu valor de índice original.

Se quiser reverter as linhas do DataFrame e redefinir os valores do índice, você pode usar a seguinte sintaxe:

 #create reversed DataFrame and reset index values
df_reversed = df[::-1]. reset_index (drop= True )

#view new DataFrame
print (df_reversed)

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

Observe que a ordem das linhas foi invertida e os valores do índice foram redefinidos.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em pandas:

Como selecionar linhas com valores NaN no Pandas
Como encontrar a primeira linha que atende aos critérios do pandas
Como obter a última linha no Pandas

Add a Comment

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