DEV Community

Francisco Júnior
Francisco Júnior

Posted on • Edited on

2

Operadores Relacionais e Lógicos no Pandas: Simplificando a Filtragem de Dados

O Python Pandas é uma biblioteca amplamente utilizada para análise e manipulação de dados. Ao trabalhar com DataFrames, muitas vezes é necessário filtrar os dados com base em determinadas condições. Neste artigo, vamos explorar os operadores relacionais e lógicos no Pandas, que nos permitem criar expressões booleanas para filtragem de dados. Vamos entender como esses operadores funcionam e forneceremos exemplos práticos para facilitar a compreensão.

Operadores Relacionais:

Os operadores relacionais no Pandas são usados para comparar valores e retornar resultados booleanos. Aqui estão alguns dos principais operadores relacionais:

  • == (igual a)
  • != (diferente de)
  • < (menor que)
  • > (maior que)
  • <= (menor ou igual a)
  • >= (maior ou igual a)

Esses operadores podem ser usados para comparar valores em colunas específicas do DataFrame e retornar uma série booleana, onde cada elemento representa o resultado da comparação.

Operadores Lógicos:

Os operadores lógicos no Pandas nos permitem combinar expressões booleanas e realizar operações lógicas mais complexas. Os dois principais operadores lógicos são:

  • & (e): Retorna True se ambas as expressões booleanas forem verdadeiras.
  • | (ou): Retorna True se pelo menos uma das expressões booleanas for verdadeira.

Esses operadores podem ser usados para combinar múltiplas condições em uma única expressão booleana.


Exemplos de Uso:

Aqui estão alguns exemplos práticos de como usar os operadores relacionais e lógicos no Pandas:

1 - Filtragem de linhas com base em uma condição:

import pandas as pd

# Criando um DataFrame de exemplo
df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
                   'B': [6, 7, 8, 9, 10]})

# Filtrando linhas onde a coluna 'A' é maior que 2
resultado = df[df['A'] > 2]
print(resultado)
Enter fullscreen mode Exit fullscreen mode

2 - Filtragem de linhas com base em múltiplas condições:

import pandas as pd

# Criando um DataFrame de exemplo
df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
                   'B': [6, 7, 8, 9, 10]})

# Filtrando linhas onde a coluna 'A' é maior que 2 E a coluna 'B' é menor que 9
resultado = df[(df['A'] > 2) & (df['B'] < 9)]
print(resultado)
Enter fullscreen mode Exit fullscreen mode

3 - Filtragem de linhas com base em valores em uma lista:

import pandas as pd

# Criando um DataFrame de exemplo
df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
                   'B': ['x', 'y', 'z', 'w', 'x']})

# Filtrando linhas onde a coluna 'B' contém valores 'x' ou 'y'
resultado = df[df['B'].isin(['x', 'y'])]
print(resultado)
Enter fullscreen mode Exit fullscreen mode

4 - Filtragem de linhas com base em uma string contida em uma coluna:

import pandas as pd

# Criando um DataFrame de exemplo
df = pd.DataFrame({'A': ['foo', 'bar', 'baz', 'qux'],
                   'B': [1, 2, 3, 4]})

# Filtrando linhas onde a coluna 'A' contém a string 'ba'
resultado = df[df['A'].str.contains('ba')]
print(resultado)
Enter fullscreen mode Exit fullscreen mode

Os operadores relacionais e lógicos no Pandas são ferramentas poderosas para filtragem de dados. Eles permitem que você crie expressões booleanas complexas para selecionar as linhas desejadas em um DataFrame. Com o conhecimento desses operadores, você pode facilmente filtrar e manipular seus dados de acordo com suas necessidades específicas. Esperamos que os exemplos fornecidos neste artigo tenham ajudado a esclarecer o uso desses operadores no contexto do Pandas. Agora você está pronto para explorar ainda mais as funcionalidades do Pandas e aproveitar ao máximo suas análises de dados.

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay