O Pandas é uma biblioteca popular em Python para manipulação e análise de dados tabulares. Entre as várias funções úteis que o Pandas oferece, a função loc é uma das mais poderosas e versáteis. A função loc é utilizada para selecionar e filtrar dados em um DataFrame com base em rótulos de linhas e colunas, oferecendo uma maneira eficaz de acessar informações específicas de um conjunto de dados. Neste artigo, exploraremos em detalhes a função loc, seu uso e forneceremos diversos exemplos de filtragem.
  
  
  Visão Geral da Função loc
A função loc permite que você selecione um subconjunto de linhas e colunas de um DataFrame usando rótulos de índice e de coluna. Sua sintaxe básica é:
dataframe.loc[linhas, colunas]
- 
linhas: Pode ser um rótulo de índice único, uma lista de rótulos ou um slice de rótulos, que define as linhas a serem selecionadas.
- 
colunas: Pode ser um rótulo de coluna único, uma lista de rótulos ou um slice de rótulos, que define as colunas a serem selecionadas.
  
  
  Exemplos de Filtragem usando a Função loc
Vamos considerar um conjunto de dados fictício de informações de alunos para ilustrar vários exemplos de uso da função loc. Primeiro, importamos a biblioteca Pandas e criamos um DataFrame de exemplo:
import pandas as pd
data = {
    'Nome': ['Alice', 'Bob', 'Carol', 'David', 'Eva'],
    'Idade': [25, 22, 28, 21, 24],
    'Gênero': ['Feminino', 'Masculino', 'Feminino', 'Masculino', 'Feminino']
}
df = pd.DataFrame(data)
df.set_index('Nome', inplace=True)
Exemplo 1: Selecionando Linhas por Rótulo de Índice
Para selecionar uma única linha com base no rótulo de índice, usamos um rótulo de índice único dentro do método loc:
linha_bob = df.loc['Bob']
print(linha_bob)
Exemplo 2: Selecionando Linhas por Lista de Rótulos
Para selecionar várias linhas com base em uma lista de rótulos de índice, usamos uma lista dentro do método loc:
linhas_carol_david = df.loc[['Carol', 'David']]
print(linhas_carol_david)
Exemplo 3: Fatiando Linhas por Intervalo de Rótulos
Podemos também fatiar o DataFrame com base em um intervalo de rótulos de índice:
linhas_bob_eva = df.loc['Bob':'Eva']
print(linhas_bob_eva)
Exemplo 4: Selecionando Linhas e Colunas Específicas
Podemos selecionar linhas e colunas específicas, passando listas de rótulos tanto para as linhas quanto para as colunas:
subset = df.loc[['Alice', 'Eva'], ['Idade', 'Gênero']]
print(subset)
Exemplo 5: Usando Condições de Filtro
A função loc é muito útil para filtrar dados com base em condições:
alunos_mais_velhos = df.loc[df['Idade'] > 23]
print(alunos_mais_velhos)
Exemplo 6: Combinando Condições de Filtro
Podemos usar múltiplas condições combinadas usando os operadores lógicos & (and) e | (or):
alunas_jovens = df.loc[(df['Idade'] < 25) & (df['Gênero'] == 'Feminino')]
print(alunas_jovens)
Exemplos de Filtragem de Periodo
Vamos considerar um conjunto de dados fictício de informações de alunos para ilustrar vários exemplos de uso da função loc, incluindo filtragem de datas em diferentes situações. Primeiro, importamos a biblioteca Pandas e criamos um DataFrame de exemplo:
import pandas as pd
data = {
    'Nome': ['Alice', 'Bob', 'Carol', 'David', 'Eva'],
    'Idade': [25, 22, 28, 21, 24],
    'Gênero': ['Feminino', 'Masculino', 'Feminino', 'Masculino', 'Feminino'],
    'Data de Nascimento': ['1998-05-15', '2001-02-28', '1995-11-10', '2002-07-03', '1999-09-21']
}
df = pd.DataFrame(data)
df['Data de Nascimento'] = pd.to_datetime(df['Data de Nascimento'])
df.set_index('Nome', inplace=True)
Exemplo 1: Filtragem de Datas por Ano
Para filtrar as linhas com base em um ano específico em uma coluna de datas, usamos o método loc e a propriedade .year para extrair o ano:
alunos_nascidos_em_1999 = df.loc[df['Data de Nascimento'].dt.year == 1999]
print(alunos_nascidos_em_1999)
Exemplo 2: Filtragem de Datas por Mês
Podemos também filtrar as linhas com base em um mês específico:
alunos_nascidos_em_setembro = df.loc[df['Data de Nascimento'].dt.month == 9]
print(alunos_nascidos_em_setembro)
Exemplo 3: Filtragem de Datas por Dia
Para filtrar as linhas com base em um dia específico:
alunos_nascidos_no_dia_15 = df.loc[df['Data de Nascimento'].dt.day == 15]
print(alunos_nascidos_no_dia_15)
Exemplo 4: Filtragem por Período
Podemos criar um período e usar isso para filtrar os dados:
import pandas as pd
periodo = pd.Period('2000-01')
alunos_nascidos_em_janeiro_de_2000 = df.loc[df['Data de Nascimento'].dt.to_period('M') == periodo]
print(alunos_nascidos_em_janeiro_de_2000)
Conclusão
A função loc do Pandas é uma ferramenta essencial para a seleção e filtragem de dados em DataFrames, permitindo aos usuários acessar informações específicas de maneira eficiente. Neste artigo, exploramos vários exemplos de uso da função loc para selecionar linhas e colunas com base em rótulos e condições de filtro. Com essa poderosa ferramenta em mãos, os analistas de dados podem manipular e extrair informações relevantes de conjuntos de dados complexos de forma mais eficaz.
 

 
    
Top comments (0)