Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Hantering av Flera Villkor | Hantering av Villkor
Avancerade tekniker i pandas

bookHantering av Flera Villkor

Ibland behöver vi tillämpa flera villkor. Till exempel vill vi extrahera data om farliga asteroider med en liten minsta diameter. Men hur skriver vi två villkor samtidigt? Titta på tabellen:

Exemplet inkluderades för att hjälpa dig att hantera detta ämne. Denna kod extraherar data om stora och farliga asteroider, där det uppskattade minsta diametern är större än 3.5 kilometer och 'hazardous' är 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 utdata kan du se alla rader som uppfyller dessa två villkor:

  • est_diameter_min > 3.5;
  • hazardous == True.

Titta på följande exempel med or-operatorn. Denna kod extraherar data om extremt små eller stora asteroider med en minsta uppskattad diameter mindre än 0.0005 kilometer och en största uppskattad diameter större än 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 utdata kan du se alla rader som uppfyller ett av dessa två villkor:

  • est_diameter_min < 0.0005;
  • est_diameter_max > 20.
Uppgift

Swipe to start coding

Du har fått ett dataset som innehåller information om asteroider.

  1. Din uppgift är att extrahera data om mycket ljusa och icke-farliga asteroider, där:
  • 'absolute_magnitude' \ge 25;
  • 'hazardous' == False.
  1. Använd attributet .loc[] med båda villkoren sammankopplade med &-operatorn (kom ihåg att omsluta varje villkor med parenteser).

Avslutningsvis, visa 5 slumpmässiga rader från den resulterande DataFrame med hjälp av .sample(5).

Lösning

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 3
single

single

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

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

bookHantering av Flera Villkor

Svep för att visa menyn

Ibland behöver vi tillämpa flera villkor. Till exempel vill vi extrahera data om farliga asteroider med en liten minsta diameter. Men hur skriver vi två villkor samtidigt? Titta på tabellen:

Exemplet inkluderades för att hjälpa dig att hantera detta ämne. Denna kod extraherar data om stora och farliga asteroider, där det uppskattade minsta diametern är större än 3.5 kilometer och 'hazardous' är 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 utdata kan du se alla rader som uppfyller dessa två villkor:

  • est_diameter_min > 3.5;
  • hazardous == True.

Titta på följande exempel med or-operatorn. Denna kod extraherar data om extremt små eller stora asteroider med en minsta uppskattad diameter mindre än 0.0005 kilometer och en största uppskattad diameter större än 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 utdata kan du se alla rader som uppfyller ett av dessa två villkor:

  • est_diameter_min < 0.0005;
  • est_diameter_max > 20.
Uppgift

Swipe to start coding

Du har fått ett dataset som innehåller information om asteroider.

  1. Din uppgift är att extrahera data om mycket ljusa och icke-farliga asteroider, där:
  • 'absolute_magnitude' \ge 25;
  • 'hazardous' == False.
  1. Använd attributet .loc[] med båda villkoren sammankopplade med &-operatorn (kom ihåg att omsluta varje villkor med parenteser).

Avslutningsvis, visa 5 slumpmässiga rader från den resulterande DataFrame med hjälp av .sample(5).

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 3
single

single

some-alt