Pular para o conteúdo principal

Tutorial de seleção de colunas em Python

Use o Python Pandas e selecione colunas de DataFrames. Siga nosso tutorial com exemplos de código e aprenda diferentes maneiras de selecionar seus dados hoje mesmo!
Actualizado 18 de jul. de 2024  · 7 min de leitura

Para executar facilmente todo o código de exemplo deste tutorial, você pode criar uma pasta de trabalho do DataLabgratuitamente, que tem o Python pré-instalado e contém todos os exemplos de código.

Se você tiver um DataFrame e quiser acessar ou selecionar algumas linhas/colunas específicas desse DataFrame, poderá usar colchetes ou outros métodos avançados, como loc e iloc.

Seleção de colunas usando colchetes

Agora, suponha que você queira selecionar a coluna do país no DataFrame brics. Para isso, você digitará brics e, em seguida, o rótulo da coluna dentro dos colchetes.

Seleção de uma coluna

          country     capital        area    population
BR         Brazil    Brasilia       8.516        200.40
RU         Russia      Moscow      17.100        143.50
IN         India    New Dehli       3.286       1252.00
CH         China      Beijing       9.597       1357.00
SA  South Africa     Pretoria       1.221         52.98
brics["country"]
BR         Brazil
RU         Russia
IN         India
CH         China
SA  South Africa
Name: country, dtype: object

Verificação do tipo do objeto

Vamos verificar o tipo do objeto que é retornado com a função de tipo.

type(brics["country"])
pandas.core.series.Series

Como podemos ver na saída acima, estamos lidando com uma série pandas aqui! A série pode ser considerada como uma matriz unidimensional que pode ser rotulada como um DataFrame.

Se quiser selecionar dados e mantê-los em um DataFrame, você precisará usar colchetes duplos:

brics[["country"]]
BR         Brazil
RU         Russia
IN         India
CH         China
SA  South Africa

Se verificarmos o tipo dessa saída, você verá que se trata de um DataFrame! Porém, com apenas uma coluna.

type(brics[["country"]])
pandas.core.frame.DataFrame

Seleção de várias colunas

Você pode estender essa chamada para selecionar duas colunas. Vamos tentar selecionar country e capital.

brics[["country", "capital"]]
          country     capital
BR         Brazil    Brasilia
RU         Russia      Moscow
IN         India    New Dehli
CH         China      Beijing
SA  South Africa     Pretoria

Se você observar isso com atenção, na verdade estará colocando uma lista com rótulos de coluna dentro de outro conjunto de colchetes e acabará com um sub DataFrame contendo apenas as colunas country e capital.

Seleção de linhas usando colchetes

Os colchetes podem fazer mais do que apenas selecionar colunas. Você também pode usá-los para obter linhas, ou observações, de um DataFrame.

Exemplo

Você só pode selecionar linhas usando colchetes se especificar uma fatia, como 0:4. Além disso, você está usando os índices inteiros das linhas aqui, não os rótulos das linhas!

Para obter a segunda, terceira e quarta linhas do brics DataFrame, usamos a fatia de 1 a 4. Lembre-se de que o final da fatia é exclusivo, e o índice começa em zero.

brics[1:4]
          country     capital     area    population
RU         Russia      Moscow   17.100        143.50
IN         India    New Dehli    3.286       1252.00
CH         China      Beijing    9.597       1357.00

Esses colchetes funcionam, mas oferecem apenas uma funcionalidade limitada. Idealmente, gostaríamos de algo semelhante às matrizes 2D Numpy, em que você também usa colchetes. O índice, ou fatia, antes da vírgula se refere às linhas, e a fatia após a vírgula se refere às colunas.

Exemplo de matriz 2D Numpy:

my_array[rows, columns]

Se quiser fazer algo semelhante com pandas, você precisará usar as funções loc e iloc.

  • loc: baseado em rótulos
  • iloc: inteiro baseado em posição

loc Função

loc é uma técnica para selecionar partes de seus dados com base em rótulos. Vamos examinar o DataFrame do brics e obter as linhas da Rússia.

Para isso, você colocará o rótulo de interesse entre colchetes após loc.

Seleção de linhas

brics.loc["RU"]
country     Russia
capital     Moscow
area          17.1
population   143.5
Name: RU, dtype: object

Obtemos uma série pandas contendo todas as informações das linhas; porém, de forma inconveniente, elas são mostradas em linhas diferentes. Para obter um DataFrame, temos que colocar o link RU em outro par de colchetes. Você também pode selecionar várias linhas ao mesmo tempo. Suponha que você queira incluir também a Índia e a China. Basta adicionar esses rótulos de linha à lista.

brics.loc[["RU", "IN", "CH"]]
          country     capital     area    population
RU         Russia      Moscow   17.100        143.50
IN         India    New Dehli    3.286       1252.00
CH         China      Beijing    9.597       1357.00

A diferença entre usar um loc e colchetes básicos é que você pode estender a seleção com uma vírgula e uma especificação das colunas de interesse.

Seleção de linhas e colunas

Vamos estender a chamada anterior para incluir apenas as colunas country e capital. Adicionamos uma vírgula e listamos os rótulos das colunas que queremos manter. A interseção é retornada.

brics.loc[["RU", "IN", "CH"], ["country", "capital"]]
          country     capital
RU         Russia      Moscow
IN         India    New Dehli
CH         China      Beijing

Você também pode usar loc para selecionar todas as linhas, mas apenas um número específico de colunas. Basta substituir a primeira lista que especifica os rótulos de linha por dois pontos. Uma fatia que vai do começo ao fim. Dessa vez, você receberá de volta todas as linhas, mas apenas duas colunas.

Seleção de todas as linhas e colunas específicas

brics.loc[:, ["country", "capital"]]
          country     capital
BR         Brazil    Brasilia
RU         Russia      Moscow
IN         India    New Dehli
CH         China      Beijing
SA  South Africa     Pretoria

iloc Função

A função iloc permite que você faça um subconjunto de pandas DataFrames com base em sua posição ou índice.

Seleção de linhas

Vamos usar os mesmos dados e exemplos semelhantes que usamos para loc. Vamos começar com a fila para a Rússia.

brics.iloc[[1]]
          country     capital     area    population
RU         Russia      Moscow   17.100        143.50

Para obter as linhas da Rússia, Índia e China. Agora você pode usar uma lista de índices 1, 2, 3.

brics.iloc[[1, 2, 3]]
          country     capital     area    population
RU         Russia      Moscow   17.100        143.50
IN         India    New Dehli    3.286       1252.00
CH         China      Beijing    9.597       1357.00

Seleção de linhas e colunas

Da mesma forma que em loc, também podemos selecionar linhas e colunas usando iloc. Aqui, selecionaremos as linhas da Rússia, Índia e China e as colunas country e capital.

brics.iloc[[1, 2, 3], [0, 1]]
          country     capital
RU         Russia      Moscow
IN         India    New Dehli
CH         China      Beijing

Seleção de todas as linhas e colunas específicas

Por fim, se você quiser selecionar todas as linhas, mas apenas manter as colunas country e capital, poderá fazê-lo:

brics.loc[:, [0, 1]]
          country     capital
BR         Brazil    Brasilia
RU         Russia      Moscow
IN         India    New Dehli
CH         China      Beijing
SA  South Africa     Pretoria

loc e iloc são bastante semelhantes. A única diferença é como você se refere às colunas e linhas.

Exemplo interativo sobre a seleção de um subconjunto de dados

No exemplo a seguir, os dados dos carros são importados de um arquivo CSV como um DataFrame do Pandas. Para selecionar apenas o cars_per_cap column dos carros, você pode usar:

cars['cars_per_cap']
cars[['cars_per_cap']]

A versão com colchetes simples fornece uma série do Pandas; a versão com colchetes duplos fornece um DataFrame do Pandas.

  • Você usará colchetes simples para imprimir a coluna country de cars como uma série Pandas.
  • Em seguida, use colchetes duplos para imprimir a coluna country de cars como um Pandas DataFrame.
  • Por fim, use os colchetes duplos para imprimir um DataFrame com as colunas country e drives_right de cars, nesta ordem.
# Import cars data
import pandas as pd
cars = pd.read_csv('cars.csv', index_col = 0)

# Print out country column as Pandas Series
print(cars['country'])

# Print out country column as Pandas DataFrame
print(cars[['country']])

# Print out DataFrame with country and drives_right columns
print(cars[['country', 'drives_right']])

Quando executamos o código acima, ele produz o seguinte resultado:

US     United States
AUS        Australia
JPN            Japan
IN             India
RU            Russia
MOR          Morocco
EG             Egypt
Name: country, dtype: object
           country
US   United States
AUS      Australia
JPN          Japan
IN           India
RU          Russia
MOR        Morocco
EG           Egypt
           country  drives_right
US   United States          True
AUS      Australia         False
JPN          Japan         False
IN           India         False
RU          Russia          True
MOR        Morocco          True
EG           Egypt          True

Experimente você mesmo.

Para saber mais sobre pandas, assista a este vídeo do nosso curso Python Intermediário.

Este conteúdo foi extraído do curso Python Intermediário da DataCamp, ministrado por Hugo Bowne-Anderson.

Temas

Cursos de Python

curso

Intermediate Python

4 hr
1.2M
Level up your data science skills by creating visualizations using Matplotlib and manipulating DataFrames with pandas.
Ver DetalhesRight Arrow
Iniciar Curso
Ver maisRight Arrow
Relacionado

tutorial

Pandas Tutorial: DataFrames em Python

Explore a análise de dados com Python. Os DataFrames do Pandas facilitam a manipulação de seus dados, desde a seleção ou substituição de colunas e índices até a remodelagem dos dados.
Karlijn Willems's photo

Karlijn Willems

20 min

tutorial

Tutorial de junção de DataFrames no pandas

Neste tutorial, você aprenderá várias maneiras pelas quais vários DataFrames podem ser mesclados em python usando a biblioteca Pandas.
DataCamp Team's photo

DataCamp Team

19 min

tutorial

Tutorial do Python pandas: O guia definitivo para iniciantes

Você está pronto para começar sua jornada com os pandas? Aqui está um guia passo a passo sobre como você pode começar.
Vidhi Chugh's photo

Vidhi Chugh

15 min

tutorial

Tutorial do For Loops em Python

Saiba como implementar For Loops em Python para iterar uma sequência ou as linhas e colunas de um dataframe do pandas.
Aditya Sharma's photo

Aditya Sharma

5 min

tutorial

SELEÇÃO de várias colunas no SQL

Saiba como selecionar facilmente várias colunas de uma tabela de banco de dados em SQL ou selecionar todas as colunas de uma tabela em uma consulta simples.
DataCamp Team's photo

DataCamp Team

3 min

tutorial

Tutorial do Python Excel: O guia definitivo

Saiba como ler e importar arquivos do Excel em Python, gravar dados nessas planilhas e encontrar os melhores pacotes para fazer isso.
Natassha Selvaraj's photo

Natassha Selvaraj

30 min

See MoreSee More