Menu
Coddy logo textTech

אינדוקס בוליאני

שיעור 14 מתוך 18 בקורס יסודות NumPy של Coddy.

ל-Numpy יש אפשרות לבחור איברים באמצעות תנאים. 

יש להשתמש בתחביר הבא: ary[ary operator number]

  • ary[ary > 5]
  • ary[ary == 5]
  • ary[ary <= 5]
  • וכו׳

דוגמה 1

אחזר את כל המספרים הקטנים מ-5

x = np.array([1, 5, 2, 4, 9 ,10 ,13, 7])
x[x < 5]
>>> [1, 2, 4]

דוגמה 2

מה קורה בממדים גבוהים יותר?

x = np.array([[1, 5], [2, 4], [9 ,10] ,[13, 7]])
x[x < 5]  # --> [1, 2, 4]
x[x >= 5] # --> [5, 9, 10, 13, 7]
x[x == 6] # --> []

ראית את זה? הוחזר מערך יחיד עם כל האיברים שמקיימים את התנאי

 

כשמחילים תנאי על x, מוחזר מערך boolean שמציין עבור כל אינדקס אם הוא מקיים את התנאי.

דוגמה 3

הפעם נבדוק מה קורה אם משתמשים בתנאי בלבד, בלי הסוגריים []

x = np.array([1, 2, 3])
x < 2
>>> [True, False, False]

מוחזרת רשימה של כל האינדקסים שמקיימים את התנאי

דוגמה 4

במקום להציב תנאי בתוך הסוגריים [], אפשר להציב במקומו רשימה בוליאנית, בדיוק כמו זו שקיבלנו בדוגמה הקודמת, כדי לאחזר את האיברים הרצויים.

x = np.array([8, 4, 10])
x[[False, True, False]]  # --> [4]
x[[True, True, False]]   # --> [8, 4]
x[[True, False, True]]   # --> [8, 10]
x[[False, False, False]] # --> []

דוגמאות 3 ו-4 מסבירות למה x[x < 5] עובד.

quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

challenge icon

אתגר

קל

כתבו פונקציה בשם small_five שמקבלת רשימה ומחזירה את הסכום של כל האיברים שקטנים מ־5

נסו בעצמכם

import numpy as np
def small_five(lst):
	# Complete your code

כל השיעורים ביחידה יסודות NumPy

תרגלו בעצמכם: קומפיילר Python אונליין