מסנן Numpy

Msnn Numpy



שליפת אלמנטים או קבלת אלמנטים מנתונים מסוימים ידועים כסינון. NumPy היא החבילה המאפשרת לנו ליצור מערכים ולאחסן כל סוג של נתונים בצורה של מערך. כשמדובר בסינון במערכים תוך כדי עבודה עם חבילות NumPy שמסופקות על ידי python, זה מאפשר לנו לסנן או לקבל נתונים ממערכים באמצעות פונקציות מובנות שמסופקות על ידי NumPy. ניתן להשתמש ברשימת אינדקס בוליאנית, רשימה של בוליאניות התואמות למיקומי מערך, כדי לסנן מערכים. אם האלמנט באינדקס של המערך נכון, הוא יאוחסן במערך אלא אם האלמנט יוחרג מהמערך.

נניח שיש לנו את הנתונים של התלמידים המאוחסנים בצורה של מערכים ואנו רוצים לסנן את התלמידים שנכשלו. פשוט נסנן את המערך ונחריג את התלמידים שנכשלו ויתקבל מערך חדש של התלמיד שעבר.

שלבים לסינון מערך NumPy

שלב 1: ייבוא ​​מודול NumPy.







שלב 2: יצירת מערך.



שלב 3: הוסף תנאי סינון.



שלב 4: צור מערך מסונן חדש.





תחביר:

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

שיטה 1: עבור מצב אחד נפעל לפי התחביר הבא

מַעֲרָך [ מַעֲרָך < מַצָב ]

בתחביר שהוזכר לעיל, 'מערך' הוא שם המערך שממנו נסנן את האלמנטים. והתנאי יהיה המצב עליו מסוננים האלמנטים והאופרטור '<' הוא הסימן המתמטי שמייצג פחות מ. זה יעיל להשתמש בו כאשר יש לנו רק תנאי או משפט אחד.



שיטה 2: שימוש במפעיל 'OR'.

מַעֲרָך [ ( מַעֲרָך < מצב 1 ) | ( מַעֲרָך > מצב2 ) ]

בשיטה זו, 'מערך' הוא שם המערך שממנו נסנן ערכים והתנאי מועבר אליו. מפעיל '|' משמש לייצוג הפונקציה 'OR' כלומר משני התנאים אחד צריך להיות נכון. זה שימושי כשיש שני תנאים.

שיטה 3: שימוש באופרטור 'AND'.

מַעֲרָך [ ( מַעֲרָך < מצב 1 ) & ( מַעֲרָך > מצב2 ) ]

בתחביר הבא, 'מערך' הוא שם המערך שיש לסנן. בעוד שהתנאי יהיה המצב כפי שנדון בתחביר לעיל בעוד שהאופרטור המשמש '&' הוא האופרטור AND, כלומר שני התנאים חייבים להיות נכונים.

שיטה 4: סינון לפי ערכים רשומים

מַעֲרָך [ לְמָשָׁל in1d ( מַעֲרָך , [ רשימת ערכים ] ) ]

בשיטה זו עברנו את המערך המוגדר שלנו 'np.in1d' המשמש להשוואה בין שני מערכים בין אם האלמנט של המערך שאותו יש לסנן קיים במערך אחר או לא. והמערך מועבר לפונקציה np.in1d ​​שיש לסנן מהמערך הנתון.

דוגמה מס' 01:

כעת, הבה ניישם את השיטה שנידונה לעיל בדוגמה. ראשית, נכלול את ספריות ה-NumPy שלנו המסופקות על ידי Python. לאחר מכן, ניצור מערך בשם 'my_array' שיכיל את הערכים '2', '3', '1', '9', '3', '5', '6' ו- '1'. לאחר מכן, נעביר את קוד הסינון שלנו שהוא 'my_array[(my_array < 5)]' להצהרת ההדפסה, כלומר אנו מסננים את הערכים הנמוכים מ-'5'. בשורה הבאה, יצרנו מערך נוסף של שם 'מערך' שאחראי על הערכים '1', '2', '6', '3', '8', '1' ו- '0'. להצהרת ההדפסה העברנו את התנאי שנדפיס את הערכים שגדולים מ-5.

לבסוף, יצרנו מערך נוסף שקראנו לו 'arr'. הוא מחזיק את הערכים '6', '7', '10', '12' ו- '14'. כעת עבור המערך הזה, נדפיס את הערך שלא קיים במערך כדי לראות מה יקרה אם התנאי לא יתאים. לשם כך עברנו את התנאי שיסנן את הערך השווה לערך '5'.

יְבוּא רדום כפי ש לְמָשָׁל

המערך_שלי = לְמָשָׁל מַעֲרָך ( [ שתיים , 3 , 1 , 9 , 3 , 5 , שתיים , 6 , 1 ] )

הדפס ( 'ערכים פחות מ-5' , המערך_שלי [ ( המערך_שלי < 5 ) ] )

מַעֲרָך = לְמָשָׁל מַעֲרָך ( [ 1 , שתיים , 6 , 3 , 8 , 1 , 0 ] )

הדפס ( 'ערכים גדולים מ-5' , מַעֲרָך [ ( מַעֲרָך > 5 ) ] )

arr = לְמָשָׁל מַעֲרָך ( [ 6 , 7 , 10 , 12 , 14 ] )

הדפס ( 'ערכים שווים 5' , arr [ ( arr == 5 ) ] )

לאחר ביצוע הקוד, יש לנו את הפלט הבא כתוצאה מכך, בו הצגנו את 3 הפלטים, הראשון הוא עבור האלמנטים הנמוכים מ-'5' בביצוע השני הדפסנו את הערכים הגדולים מ- '5'. בסוף, הדפסנו את הערך שלא קיים כפי שאנו יכולים לראות שהוא לא מציג שום שגיאה אלא מציג את המערך הריק, כלומר הערך הרצוי לא קיים במערך הנתון.

דוגמה מס' 02:

במקרה זה, נשתמש בחלק מהשיטות בהן נוכל להשתמש ביותר מתנאי אחד כדי לסנן את המערכים. כדי לבצע זאת, פשוט נייבא את ספריית NumPy ולאחר מכן ניצור מערך חד מימדי בגודל '9' בעל ערכים '24', '3', '12', '9', '3', '5', '2', '6' ו-'7'. בשורה הבאה השתמשנו במשפט print שאליה העברנו מערך שאתחלנו בשם 'my_array' עם התנאי כארגומנט. בזה, עברנו את התנאי או שפירושו משניהם, תנאי אחד חייב להיות נכון. אם שניהם נכונים, הוא יציג את הנתונים עבור שני התנאים. במצב זה, אנו רוצים להדפיס את הערכים הנמוכים מ-'5' וגדולים מ-'9'. בשורה הבאה השתמשנו באופרטור AND כדי לבדוק מה יקרה אם נשתמש בתנאי לסינון המערך. במצב זה, הצגנו ערכים גדולים מ-'5' וקטנים מ-'9'.

ייבוא ​​numpy כפי ש לְמָשָׁל

המערך_שלי = לְמָשָׁל מַעֲרָך ( [ 24 , 3 , 12 , 9 , 3 , 5 , שתיים , 6 , 7 ] )

הדפס ( 'ערכים פחות מ 5 אוֹ גדול מ 9 , המערך_שלי [ ( המערך_שלי < 5 ) | ( המערך_שלי > 9 ) ] )

הדפס ( 'ערכים גדולים מ 5 ו פחות מ 9 , המערך_שלי [ ( המערך_שלי > 5 ) & ( המערך_שלי < 9 ) ] )

כפי שמוצג בקטע למטה, התוצאה שלנו עבור הקוד למעלה מוצגת בה סיננו את המערך וקיבלנו את התוצאה הבאה. כפי שאנו יכולים לראות, הערכים הגדולים מ-9 ופחות מ-5 מוצגים בפלט הראשון והערכים בין 5 ל-9 מוזנחים. ואילו בשורה הבאה, הדפסנו את הערכים בין '5' ל- '9' שהם '6' ו- '7'. שאר הערכים של מערכים אינם מוצגים.

סיכום

במדריך זה, דנו בקצרה בשימוש בשיטות סינון המסופקות על ידי חבילת NumPy. יישמנו מספר דוגמאות כדי לפרט עבורך את הדרך הטובה ביותר ליישם את מתודולוגיות הסינון שסיפקנו על ידי numpy.