Na bi­bli­o­teca Python Pandas, o indexador DataFrame.loc[] permite se­le­ci­o­nar os dados de um DataFrame usando mar­ca­do­res. Isso facilita a extração de linhas e colunas es­pe­cí­fi­cas.

Hos­pe­da­gem que se adapta às suas ambições
  • Fique online com 99,99% de tempo de atividade e segurança robusta
  • Aumente o de­sem­pe­nho com um clique à medida que o tráfego cresce
  • Inclui domínio gratuito, SSL, e-mail e suporte 24 horas por dia, 7 dias por semana

Sintaxe do indexador Pandas loc[]

O indexador Pandas loc[] tem uma sintaxe muito simples. Para usá-la, basta informar os mar­ca­do­res (labels) das colunas e linhas que você deseja se­le­ci­o­nar como parâmetro:

DataFrame.loc[seleção]
python

NO indexador Pandas loc[], as seleções são feitas usando rótulos de índice, também chamados de mar­ca­do­res. Isso significa que o parâmetro informado pode ser um marcador único, uma lista ou um slice de mar­ca­do­res. Arrays booleanos também podem ser usados.

Diferença entre loc[] e iloc[]?

Enquanto o indexador Pandas DataFrame.loc[] seleciona os dados com base em mar­ca­do­res, DataFrame.iloc faz a seleção a partir de posições baseadas em números inteiros. Veja este exemplo que ilustra a diferença de ambas. Primeiro, vamos criar um DataFrame no Pandas:

import pandas as pd
# Exemplo de DataFrame
data = {'Nome': ['Andreia' , 'Bruno', 'Carla'], 'Idade': [23, 35, 30]}
df = pd.DataFrame(data)
print(df)
python

O DataFrame ficará assim:

Nome   Idade
0 Andreia     23
1 Bruno        35
2 Carla         30

Para extrair “Andreia” do DataFrame, podemos usar tanto O indexador Pandas loc[] quanto iloc[]. Embora a abordagem seja diferente, o resultado será o mesmo:

# Usar loc e marcadores para extrair Andreia
print(df.loc[0, 'Nome'])  # Output: 'Andreia'
# Usar iloc e inteiros para extrair Andreia
print(df.iloc[0, 0])  # Output: 'Andreia'
python

Como usar Pandas DataFrame.loc[]

O indexador Pandas loc[] pos­si­bi­lita extrair conjuntos de dados de um DataFrame. Com ele, é possível extrair uma única linha ou coluna, várias linhas e colunas ao mesmo tempo, ou até aplicar filtros baseados em condições. Toda essa fle­xi­bi­li­dade faz com que esse indexador seja a solução ideal em diversos casos.

Se­le­ci­o­nar uma linha única

Considere este exemplo de DataFrame:

import pandas as pd
data = {
    'Nome': ['Andreia', 'Bruno', 'Carla'],
    'Idade': [23, 35, 30],
    'Cidade': ['Santos', 'Blumenau', 'Fortaleza']
}
df = pd.DataFrame(data)
print(df)
python

Este será o DataFrame re­sul­tante do código acima:

Nome  Idade     Cidade
0   Andreia 23       Santos
1   Bruno    35       Blumenau
2   Carla      30       Fortaleza

Para se­le­ci­o­nar os dados da linha que contém as in­for­ma­ções sobre Bruno (índice 1), use O indexador Pandas loc[]:

dados_bruno = df.loc[1]
print(dados_bruno)
python

Este será o resultado:

Nome         Bruno
Idade              35
Cidade       Blumenau
Nome: 1, dtype: object

Se­le­ci­o­nar múltiplas colunas

Também é possível usar o indexador Pandas DataFrame.loc[] para se­le­ci­o­nar um conjunto de colunas. O código a seguir resultará na seleção das colunas “Nome” e “Cidade”:

nome_cidade = df.loc[:, ['Nome', 'Cidade']]
print(nome_cidade)
python

O resultado será um sub­con­junto do DataFrame original:

Nome    Idade
0  Andreia    23
1  Bruno      35
2  Carla      30

Se­le­ci­o­nar linhas com base em condições

O indexador Pandas loc[] também pos­si­bi­lita se­le­ci­o­nar linhas que atendam a critérios es­pe­cí­fi­cos. Isso é feito usando ope­ra­do­res booleanos de com­pa­ra­ção. Por exemplo, aqui está um exemplo de como filtrar in­di­ví­duos com mais de 25 anos:

mais_25 = df.loc[df['Idade'] > 25]
print(mais_25)
python

O código acima produzirá um DataFrame que incluirá apenas os dados das pessoas com mais de 25 anos:

Nome   Idade    Cidade
1 Bruno     35       Blumenau
2 Carla       30       Fortaleza
Ir para o menu principal