1
resposta

query ou loc

Bom dia! Fiquei com duvida quando usar o query() ou loc[].

total_de_ingles = total_por_lingua.loc["en"]
sns.countplot(data=filmes.query('original_language != "en"'), 
            x='original_language')
1 resposta

Oi, Antonio, tudo bem?

O método query() é usado para fazer consultas em DataFrames de uma maneira mais legível, especialmente quando você tem condições complexas. Ele permite que você use strings para especificar suas condições, o que pode ser mais intuitivo.

Exemplo:

import pandas as pd

# Criando um DataFrame de exemplo
data = {'nome': ['Ana', 'Bruno', 'Carlos', 'Diana'],
        'idade': [23, 35, 45, 28]}
df = pd.DataFrame(data)

# Usando query para filtrar pessoas com idade maior que 30
resultado = df.query('idade > 30')
print(resultado)

captura de tela da saída do código acima

Já, o método loc[] é usado para acessar um grupo de linhas e colunas por rótulos ou uma matriz booleana. Ele é mais flexível em termos de indexação e pode ser usado tanto para acessar dados quanto para modificá-los.

Exemplo:

# Usando loc para acessar uma linha específica
linha_carlos = df.loc[df['nome'] == 'Carlos']
print(linha_carlos)

captura de tela da saída do código anterior. Ele retorna nome Carlos idade 45

  • Usando loc para acessar e modificar dados
df.loc[df['nome'] == 'Diana', 'idade'] = 29
print(df)

captura de tela da saída do código anterior. Ele retorna todo df com a Diana idade 29

  • Quando usar cada um?
  • Use query() quando você quiser fazer consultas mais legíveis e simples, por exemplo, quando estiver trabalhando com condições em forma de string.
  • Use loc[] quando precisar de mais flexibilidade na indexação ou quando estiver trabalhando com rótulos e booleanos diretamente.

Espero ter ajudado.

Qualquer dúvida, compartilhe no fórum.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!