Seleccionar Várias Colunas em Pandas Dataframe

  1. Utilize __getitem__ Sintaxe ([]) para Seleccionar Múltiplas Colunas
  2. Utilizar os métodos iloc() e Loc() para seleccionar múltiplas colunas em Pandas

Podemos enfrentar problemas ao extrair dados de múltiplas colunas de um DataFrame Pandas, principalmente porque tratam o DataFrame como um array bidimensional. Para seleccionar múltiplas colunas de um DataFrame, podemos utilizar ou o método básico de indexação, passando a lista de nomes de colunas para a sintaxe __getitem__ ([]), ou os métodos iloc() e loc() fornecidos pela biblioteca Pandas. Para este tutorial, seleccionaremos várias colunas a partir do seguinte DataFrame.

Exemplo DataFrame:

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.rand(4,4), columns = ['a','b','c','d'])

print(df)

Resultado:

          a         b         c         d
0  0.255086  0.282203  0.342223  0.263599
1  0.744271  0.591687  0.861554  0.871859
2  0.420066  0.713664  0.770193  0.207427
3  0.014447  0.352515  0.535801  0.119759

Utilize __getitem__ Sintaxe ([]) para Seleccionar Múltiplas Colunas

Ao armazenar os nomes das colunas a serem extraídas numa lista e depois passá-la para o [], podemos seleccionar várias colunas do DataFrame. O código seguinte explicará como podemos seleccionar as colunas a e c a partir do DataFrame anteriormente mostrado.

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.rand(4,4), columns = ['a','b','c','d'])

print(df[['a','c']])

Resultado:

          a         c
0  0.255086  0.342223
1  0.744271  0.861554
2  0.420066  0.770193
3  0.014447  0.535801

Utilizar os métodos iloc() e Loc() para seleccionar múltiplas colunas em Pandas

Podemos também utilizar os métodos iloc() e loc() para seleccionar várias colunas.

Quando queremos utilizar os índices das colunas para as extrair, podemos utilizar o iloc() como se mostra no exemplo abaixo:

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.rand(4,4), columns = ['a','b','c','d'])
print(df.iloc[:,[0,2]])

Resultado:

          a         c
0  0.255086  0.342223
1  0.744271  0.861554
2  0.420066  0.770193
3  0.014447  0.535801

Da mesma forma, podemos utilizar loc() quando pretendemos seleccionar colunas utilizando os seus nomes, como se mostra abaixo:

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.rand(4,4), columns = ['a','b','c','d'])

print(df.loc[:,['a','c']])

Resultado:

          a         c
0  0.255086  0.342223
1  0.744271  0.861554
2  0.420066  0.770193
3  0.014447  0.535801

Artigo relacionado - Pandas DataFrame

  • Comparar Pandas DataFrame Objectos
  • Como Iterar Através de Linhas de um DataFrame em Pandas