Método Query em DataFrames Pandas

Beginner

Introdução

Neste laboratório, você aprenderá sobre o método query() na biblioteca Pandas. O método query() permite filtrar um DataFrame com base em uma expressão booleana. É semelhante ao método filter(). Você pode usar este método para filtrar o DataFrame com base em uma ou mais colunas, bem como combinar múltiplas condições usando o operador 'AND'.

Dicas da VM

Após a inicialização da VM, clique no canto superior esquerdo para mudar para a aba Notebook e acessar o Jupyter Notebook para praticar.

Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.

Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão, e resolveremos o problema prontamente para você.

Criando um DataFrame

Primeiramente, vamos criar um DataFrame para trabalhar. Neste exemplo, criaremos um DataFrame contendo informações sobre pessoas, incluindo seus nomes, idades, alturas e pesos.

#importing pandas as pd
import pandas as pd

#creating the DataFrame
df = pd.DataFrame({'Name': ['Chetan', 'Yashas', 'Yuvraj', 'Pooja', 'Sindu', 'Renuka'],
                   'Age': [19, 26, 22, 24, 21, 23],
                   'Height': [165, 150, 168, 157, 155, 170],
                   'Weight': [60, 65, 70, 50, 52, 55]})

Filtrando o DataFrame por uma Única Coluna

Em seguida, vamos filtrar o DataFrame com base em uma única coluna usando o método query(). Neste exemplo, filtraremos o DataFrame para incluir apenas as linhas onde a idade é inferior a 23.

#filtering the DataFrame by age
filtered_df = df.query('Age < 23')

#printing the filtered DataFrame
print(filtered_df)

Output:

    Name  Age  Height  Weight
0  Chetan   19     165      60
2  Yuvraj   22     168      70
4   Sindu   21     155      52

Filtrando o DataFrame Comparando Duas Colunas

Agora, vamos filtrar o DataFrame comparando duas colunas usando o método query(). Neste exemplo, filtraremos o DataFrame para incluir apenas as linhas onde os valores na coluna "sci_Marks" são maiores que os valores na coluna "Maths_Marks".

#creating the DataFrame
df = pd.DataFrame({'Name': ['Chetan', 'Yashas', 'Yuvraj', 'Pooja', 'Sindu', 'Renuka'],
                   'sci_Marks': [85, 70, 75, 90, 95, 70],
                   'Maths_Marks': [82, 79, 80, 89, 92, 70]})

#filtering the DataFrame by comparing two columns
filtered_df = df.query('sci_Marks > Maths_Marks')

#printing the filtered DataFrame
print(filtered_df)

Output:

     Name  sci_Marks  Maths_Marks
0  Chetan         85           82
3   Pooja         90           89
4   Sindu         95           92

Filtrando o DataFrame Usando o Operador 'AND'

Finalmente, vamos filtrar o DataFrame usando o operador 'AND' para combinar múltiplas condições. Neste exemplo, filtraremos o DataFrame para incluir apenas as linhas onde a altura é superior a 155 e o peso é superior a 60.

#filtering the DataFrame by using 'AND' operator
filtered_df = df.query('Height > 155 and Weight > 60')

#printing the filtered DataFrame
print(filtered_df)

Output:

     Name  Age  Height  Weight
1  Yashas   26     150      65
2  Yuvraj   22     168      70

Resumo

Parabéns! Neste laboratório, você aprendeu a usar o método query() na biblioteca Pandas. Agora você sabe como filtrar um DataFrame com base em uma expressão booleana, filtrar por uma única coluna, comparar duas colunas e usar o operador 'AND' para combinar múltiplas condições. Este método é útil para filtrar dados de forma rápida e eficiente em DataFrames do Pandas. Continue praticando e explorando diferentes casos de uso para se tornar mais proficiente no uso do método query().