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.
Rápido e escalável, confie na hospedagem da IONOS, que inclui domínio grátis no primeiro ano e endereço de e-mail!
- Domínio
- SSL Wildcard
- Suporte 24 horas
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 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'
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 Fortaleza
Para 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: object
Selecionar 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 30
Selecionar 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