Função loc

A função loc é um recurso poderoso da biblioteca Pandas em Python, utilizada para localizar dados em um DataFrame de forma baseada em rótulos (filtros). Com loc, é possível realizar operações de indexação baseadas em rótulos de linhas e colunas, tornando a manipulação de dados mais conveniente e intuitiva.

Sintaxe:

dataframe.loc[linhas, colunas]

Principais parâmetros:

  • linhas: Permite selecionar as linhas desejadas com base nos rótulos do índice.

  • colunas: Permite selecionar as colunas desejadas com base nos rótulos dos cabeçalhos.

Uso e exemplos:

  1. Acessar uma célula específica:

    import pandas as pd
     
    data = {'Nome': ['João', 'Maria', 'Pedro'],
            'Idade': [25, 30, 22],
            'Cidade': ['São Paulo', 'Rio de Janeiro', 'Belo Horizonte']}
     
    df = pd._DataFrame_(data)
     
    # Acessar a célula da linha 1 e coluna 'Nome'
    valor = df.loc[1, 'Nome']
    print(valor)
     
    # Saída: 'Maria'
  2. Selecionar um subconjunto de linhas e colunas:

    # Selecionar as linhas de índice 0 a 1 e as colunas 'Nome' e 'Idade'
    subset = df.loc[0:1, ['Nome', 'Idade']]
    print(subset)
     
    # Saída:
    #     Nome  Idade
    # 0   João     25
    # 1  Maria     30
  3. Fazer uma filtragem baseada em condições:

    # Filtrar as linhas onde a idade é maior que 25
    filtro = df.loc[df['Idade'] > 25]
    print(filtro)
     
    # Saída:
    #     Nome  Idade        Cidade
    # 1  Maria     30  Rio de Janeiro

    Uma alternativa à função loc, nesse caso, é utilizar um filtro diretamente, por exemplo:

    # Filtrar as linhas onde a idade é maior que 25
    filtro = df[df['Idade'] > 25]
    print(filtro)
     
    # Saída:
    #     Nome  Idade        Cidade
    # 1  Maria     30  Rio de Janeiro

A função loc permite realizar operações de seleção de forma mais expressiva, usando rótulos em vez de posições numéricas. Isso torna o código mais legível e menos sujeito a erros quando se trabalha com DataFrames complexos. É uma ferramenta essencial para análise e manipulação de dados em Pandas.