Como mudar a ordem das colunas Pandas DataFrame

  1. Lista de colunas na ordem recém-desejada em Pandas
  2. Inserir uma nova coluna com a localização específica em Pandas
  3. reindex Coluna para Dada Ordem em Pandas

Introduziremos como alterar a ordem das colunas Dataframe, com diferentes métodos, como atribuir os nomes das colunas na ordem desejada, utilizando insert e reindex.

Lista de colunas na ordem recém-desejada em Pandas

A maneira mais simples é reatribuir o dataframe com uma lista das colunas, ou simplesmente atribuir os nomes das colunas na ordem em que as desejamos:

# python 3.x
import pandas as pd
df = pd.DataFrame({'a':['1','2','3','4'], 
                   'b': [16,7,6,16],
                   'c':[61,57,16,36],
                   'd':['12','22','13','44'],
                   'e':['Green','Red','Blue','Yellow'],
                   'f':[1,11,23,66]})
print(df)
df = df[['e','c','b','f','d','a']]
print('Rearranging ..................')
print('..............................')
print(df)

Resultado:

   a   b   c   d       e   f
0  1  16  61  12   Green   1
1  2   7  57  22     Red  11
2  3   6  16  13    Blue  23
3  4  16  36  44  Yellow  66
Rearranging ..................
..............................
        e   c   b   f   d  a
0   Green  61  16   1  12  1
1     Red  57   7  11  22  2
2    Blue  16   6  23  13  3
3  Yellow  36  16  66  44  4

Inserir uma nova coluna com a localização específica em Pandas

Se estivermos criando uma nova coluna, podemos inseri-la em qualquer lugar que quisermos:

# python 3.x
import pandas as pd
df = pd.DataFrame({'a':['1','2','3','4'], 
                   'b': [16,7,6,16],
                   'c':[61,57,16,36],
                   'd':['12','22','13','44'],
                   'e':['Green','Red','Blue','Yellow'],
                   'f':[1,11,23,66]})
print(df)
print('Inserting ..................')
print('..............................')
df.insert(0, 'newColMean', df.mean(1))
print(df)

Resultado:

   newColMean  a   b   c   d       e   f
0   26.000000  1  16  61  12   Green   1
1   25.000000  2   7  57  22     Red  11
2   15.000000  3   6  16  13    Blue  23
3   39.333333  4  16  36  44  Yellow  66

reindex Coluna para Dada Ordem em Pandas

O reindex é sem dúvida a maneira mais eficiente de rearranjar a coluna:

# python 3.x
import pandas as pd
df = pd.DataFrame({'a':['1','2','3','4'], 
                   'b': [16,7,6,16],
                   'c':[61,57,16,36],
                   'd':['12','22','13','44'],
                   'e':['Green','Red','Blue','Yellow'],
                   'f':[1,11,23,66]})
print(df)
print('Rearranging ..................')
print('..............................')
df = df.reindex(columns=['a','f','d','b','c','e'])
print(df)

Resultado:

   a   b   c   d       e   f
0  1  16  61  12   Green   1
1  2   7  57  22     Red  11
2  3   6  16  13    Blue  23
3  4  16  36  44  Yellow  66
Rearranging ..................
..............................
   a   f   d   b   c       e
0  1   1  12  16  61   Green
1  2  11  22   7  57     Red
2  3  23  13   6  16    Blue
3  4  66  44  16  36  Yellow

Artigo relacionado - Pandas DataFrame

  • Seleccionar Várias Colunas em Pandas Dataframe
  • Remover Colunas por índice em Pandas DataFrame
  • Artigo relacionado - Pandas DataFrame Column

  • Obtenha a primeira linha dos Pandas DataFrame de coluna fornecida
  • Converter Objecto em Float em Pandas