Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Lidando com Várias Condições | Lidando com Condições
Técnicas Avançadas em Pandas

bookLidando com Várias Condições

Às vezes, é necessário aplicar várias condições. Por exemplo, extrair dados sobre asteroides perigosos com diâmetro mínimo pequeno. Mas como escrever duas condições simultaneamente? Observe a tabela:

O exemplo foi incluído para auxiliar na compreensão deste tópico. Este código extrai dados sobre asteroides grandes e perigosos, onde o diâmetro mínimo estimado é superior a 3.5 quilômetros e 'hazardous' é True.

1234
import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/planet', index_col = 0) data_extracted = data.loc[(data['est_diameter_min'] > 3.5) & (data['hazardous'] == True)] print(data_extracted)
copy

Na saída, é possível ver todas as linhas que satisfazem estas duas condições:

  • est_diameter_min > 3.5;
  • hazardous == True.

Observe o seguinte exemplo com a declaração or. Este código irá extrair dados sobre asteroides extremamente pequenos ou grandes, com diâmetro mínimo estimado menor que 0.0005 quilômetros e diâmetro máximo estimado maior que 20 quilômetros:

1234
import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/planet', index_col = 0) data_extracted = data.loc[(data['est_diameter_min'] < 0.0005) | (data['est_diameter_max'] > 20)] print(data_extracted)
copy

Na saída, é possível visualizar todas as linhas que atendem a uma destas duas condições:

  • est_diameter_min < 0.0005;
  • est_diameter_max > 20.
Tarefa

Swipe to start coding

Você recebe um conjunto de dados contendo informações sobre asteroides.

  1. Sua tarefa é extrair dados sobre asteroides muito brilhantes e não perigosos, onde:
  • 'absolute_magnitude' \ge 25;
  • 'hazardous' == False.
  1. Utilize o atributo .loc[] com ambas as condições conectadas pelo operador & (lembre-se de colocar cada condição entre parênteses).

Por fim, exiba 5 linhas aleatórias do DataFrame resultante utilizando .sample(5).

Solução

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 3
single

single

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Suggested prompts:

Can you explain the difference between using & and | in these examples?

How do I combine more than two conditions in a single query?

What happens if I forget to use parentheses around the conditions?

close

Awesome!

Completion rate improved to 3.03

bookLidando com Várias Condições

Deslize para mostrar o menu

Às vezes, é necessário aplicar várias condições. Por exemplo, extrair dados sobre asteroides perigosos com diâmetro mínimo pequeno. Mas como escrever duas condições simultaneamente? Observe a tabela:

O exemplo foi incluído para auxiliar na compreensão deste tópico. Este código extrai dados sobre asteroides grandes e perigosos, onde o diâmetro mínimo estimado é superior a 3.5 quilômetros e 'hazardous' é True.

1234
import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/planet', index_col = 0) data_extracted = data.loc[(data['est_diameter_min'] > 3.5) & (data['hazardous'] == True)] print(data_extracted)
copy

Na saída, é possível ver todas as linhas que satisfazem estas duas condições:

  • est_diameter_min > 3.5;
  • hazardous == True.

Observe o seguinte exemplo com a declaração or. Este código irá extrair dados sobre asteroides extremamente pequenos ou grandes, com diâmetro mínimo estimado menor que 0.0005 quilômetros e diâmetro máximo estimado maior que 20 quilômetros:

1234
import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/planet', index_col = 0) data_extracted = data.loc[(data['est_diameter_min'] < 0.0005) | (data['est_diameter_max'] > 20)] print(data_extracted)
copy

Na saída, é possível visualizar todas as linhas que atendem a uma destas duas condições:

  • est_diameter_min < 0.0005;
  • est_diameter_max > 20.
Tarefa

Swipe to start coding

Você recebe um conjunto de dados contendo informações sobre asteroides.

  1. Sua tarefa é extrair dados sobre asteroides muito brilhantes e não perigosos, onde:
  • 'absolute_magnitude' \ge 25;
  • 'hazardous' == False.
  1. Utilize o atributo .loc[] com ambas as condições conectadas pelo operador & (lembre-se de colocar cada condição entre parênteses).

Por fim, exiba 5 linhas aleatórias do DataFrame resultante utilizando .sample(5).

Solução

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 3
single

single

some-alt