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')
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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')
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)
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)
df.loc[df['nome'] == 'Diana', 'idade'] = 29
print(df)
query() quando você quiser fazer consultas mais legíveis e simples, por exemplo, quando estiver trabalhando com condições em forma de string.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!