Como selecionar dados usando Pandas loc[]
Na biblioteca Python Pandas, o indexador DataFrame.loc[] permite selecionar os dados de um DataFrame usando marcadores. Isso facilita a extração de linhas e colunas específicas.
- Fique online com 99,99% de tempo de atividade e segurança robusta
- Aumente o desempenho 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 marcadores (labels) das colunas e linhas que você deseja selecionar como parâmetro:
DataFrame.loc[seleção]pythonNO indexador Pandas loc[], as seleções são feitas usando rótulos de índice, também chamados de marcadores. Isso significa que o parâmetro informado pode ser um marcador único, uma lista ou um slice de marcadores. 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 marcadores, 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)pythonO DataFrame ficará assim:
Nome Idade
0 Andreia 23
1 Bruno 35
2 Carla 30Para 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'pythonComo usar Pandas DataFrame.loc[]
O indexador Pandas loc[] possibilita 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 flexibilidade faz com que esse indexador seja a solução ideal em diversos casos.
Selecionar 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)pythonEste será o DataFrame resultante do código acima:
Nome Idade Cidade
0 Andreia 23 Santos
1 Bruno 35 Blumenau
2 Carla 30 FortalezaPara selecionar os dados da linha que contém as informações sobre Bruno (índice 1), use O indexador Pandas loc[]:
dados_bruno = df.loc[1]
print(dados_bruno)pythonEste será o resultado:
Nome Bruno
Idade 35
Cidade Blumenau
Nome: 1, dtype: objectSelecionar múltiplas colunas
Também é possível usar o indexador Pandas DataFrame.loc[] para selecionar 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)pythonO resultado será um subconjunto do DataFrame original:
Nome Idade
0 Andreia 23
1 Bruno 35
2 Carla 30Selecionar linhas com base em condições
O indexador Pandas loc[] também possibilita selecionar linhas que atendam a critérios específicos. Isso é feito usando operadores booleanos de comparação. Por exemplo, aqui está um exemplo de como filtrar indivíduos com mais de 25 anos:
mais_25 = df.loc[df['Idade'] > 25]
print(mais_25)pythonO 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
