Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Håndtering af Flere Betingelser | Håndtering af Betingelser
Avancerede Teknikker i Pandas

bookHåndtering af Flere Betingelser

Nogle gange skal vi anvende flere betingelser. For eksempel ønsker vi at udtrække data om farlige asteroider med en lille minimumsdiameter. Men hvordan skriver vi to betingelser samtidigt? Se på tabellen:

Eksemplet er inkluderet for at hjælpe dig med dette emne. Denne kode udtrækker data om store og farlige asteroider, hvor den mindste estimerede diameter er større end 3.5 kilometer og 'hazardous' er 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

I outputtet kan du se alle rækker, der opfylder disse to betingelser:

  • est_diameter_min > 3.5;
  • hazardous == True.

Se følgende eksempel med or-operatoren. Denne kode udtrækker data om ekstremt små eller store asteroider med en minimum estimeret diameter mindre end 0.0005 kilometer og en maksimum estimeret diameter større end 20 kilometer:

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

I outputtet kan du se alle rækker, der opfylder en af disse to betingelser:

  • est_diameter_min < 0.0005;
  • est_diameter_max > 20.
Opgave

Swipe to start coding

Du har et datasæt med information om asteroider.

  1. Opgaven er at udtrække data om meget lyse og ikke-farlige asteroider, hvor:
  • 'absolute_magnitude' \ge 25;
  • 'hazardous' == False.
  1. Brug .loc[]-attributten med begge betingelser forbundet med &-operatoren (husk at sætte hver betingelse i parentes).

Til sidst skal du vise 5 tilfældige rækker fra den resulterende DataFrame ved hjælp af .sample(5).

Løsning

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 3
single

single

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

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

bookHåndtering af Flere Betingelser

Stryg for at vise menuen

Nogle gange skal vi anvende flere betingelser. For eksempel ønsker vi at udtrække data om farlige asteroider med en lille minimumsdiameter. Men hvordan skriver vi to betingelser samtidigt? Se på tabellen:

Eksemplet er inkluderet for at hjælpe dig med dette emne. Denne kode udtrækker data om store og farlige asteroider, hvor den mindste estimerede diameter er større end 3.5 kilometer og 'hazardous' er 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

I outputtet kan du se alle rækker, der opfylder disse to betingelser:

  • est_diameter_min > 3.5;
  • hazardous == True.

Se følgende eksempel med or-operatoren. Denne kode udtrækker data om ekstremt små eller store asteroider med en minimum estimeret diameter mindre end 0.0005 kilometer og en maksimum estimeret diameter større end 20 kilometer:

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

I outputtet kan du se alle rækker, der opfylder en af disse to betingelser:

  • est_diameter_min < 0.0005;
  • est_diameter_max > 20.
Opgave

Swipe to start coding

Du har et datasæt med information om asteroider.

  1. Opgaven er at udtrække data om meget lyse og ikke-farlige asteroider, hvor:
  • 'absolute_magnitude' \ge 25;
  • 'hazardous' == False.
  1. Brug .loc[]-attributten med begge betingelser forbundet med &-operatoren (husk at sætte hver betingelse i parentes).

Til sidst skal du vise 5 tilfældige rækker fra den resulterende DataFrame ved hjælp af .sample(5).

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 3
single

single

some-alt