Pandas Qcut

Pandas Qcut



'ה-'Python' מכיל ספריות רבות, וכאשר אנו רוצים לנתח או לבצע מניפולציות בנתונים, אנו משתמשים בספריות ה-'Python' הללו, וה-'Pandas' היא גם הספרייה שלו. ספריית 'פנדות' משמשת בתחום מדעי הנתונים, וגם היא משמשת בפעילויות למידת מכונה. ה-'pandas' DataFrame עוזר לנו לשמור את הנתונים. ב'פנדות', כאשר אנו רוצים חבילת נתונים, אנו משתמשים בשיטת 'qcut()'. שיטת 'qcut()' משמשת להמרת תכונות רציפות לקטגוריות. אנו יכולים להוסיף סוגים שונים של פרמטרים בשיטת 'qcut()' זו לקבלת סוגים שונים של תוצאות. מדריך זה עוסק כולו בשיטת 'qcut()', ואנו נסביר כאן בפירוט מלא את שיטת 'qcut()'. אנו נסביר לך כיצד אנו מבצעים את ה-data binning בעזרת הפונקציה 'qcut()' ב-'pandas' במדריך זה.'

דוגמה מס' 01

אנו ניישם את שיטת 'qcut()' בקודים אלה, ונבצע את הקודים הללו באפליקציית 'Spyder'. כשאנחנו צריכים לעבוד עם ה'פנדות', נוכל לגשת לפונקציות שלה רק כאשר אנו מייבאים את ספריית ה'פנדות' לקודים שלנו. ראשית, אנו שמים 'ייבוא', ולאחר מכן אנו כותבים 'פנדות כ-pd'. כעת, עלינו ליישם את שיטת 'qcut()', אז לשם כך, אנו יוצרים את ה-DataFrame כאן. אנו בונים את 'Random_df' המכיל את 'R_ID, R_name ו-R_age' בתור העמודות שלו, וגם ב-'R_ID', אנו ממקמים את 'R_17, R_21, R_24, R_29, R_31, R_34, R_44, R_46, R_50, R_51, R_55 R_61, R_73 ו-R_81'. לאחר מכן נוסיף 'תיאודור, טדי, נואה, ליאו, אייבי, הנרי, פרדי, אוולין, אווה, ווילו, תיאו, אוסקר, ג'ייקוב והארפר' בעמודה 'R_name'. לאחר מכן, נוסיף '21, 33, 12, 43, 22, 7, 21, 51, 72, 19, 10, 9, 37 ו-40' בעמודה 'R_age'. כעת, אנו משתמשים ב-'print()', המכיל את 'Random_df', והוא יעזור בעיבוד ה-'Random_df' DataFrame. זה עתה יצרנו את ה-DataFrame ועדיין לא מיישמים את שיטת 'qcut()'.








סמל ה'הפעלה' עוזר לנו בביצוע הקודים. כאשר אנו לוחצים על סמל ה'הפעלה' הזה, התוצאה של קוד זה מוצגת במסוף של אפליקציית 'Spyder'. ה-'Random_df' DataFarme מוצג כתוצאה של הקוד שכתבנו בדוגמה זו. כעת, ניישם את שיטת 'qcut()' ונראה גם את התוצאה שלה.




אנחנו מאגדים כאן את הנתונים. אנו מצמידים את העמודה 'R_age' וממקמים את שיטת 'pd.qcut()', שהיא השיטה של ​​'פנדות' שעוזרת ב-binning של נתונים. בשיטה זו, אנו מכניסים את שם ה-DataFrame וגם את שם העמודה שעליה אנו רוצים להחיל את שיטת ה-'qcut()' הזו. אנחנו גם מגדירים את הערך של 'q' ל-'5', והוא משמש לחיתוך הנתונים של העמודה 'R_age' לחמישה קוונטילים שווים. אנו מוסיפים את שיטת 'qcut()' ב-'print()', כך שהיא תציג גם את נתוני ה-binning בטרמינל.




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






אנו יכולים גם להתאים את התווית עבור הפחים הללו. אנו מוסיפים את תוויות הפח הללו כדי שיהיה קל לפרש אותן. אנו מוסיפים עמודה 'R_age_qcut' ל-'Random_df' שבה נוסיף את התוויות של הפחים הללו. אנו שוב משתמשים בשיטת 'pd.qcut()' לתיוג אותם. אנו מוסיפים לתוכו את התוויות שהן 'קטנות, לא כל כך קטנות, בינוניות, גבוהות וגבוהות'. ואז שמנו שוב את 'Random_df' ב-'print()'.


כל הפחים מסומנים ומוצגים בתוצאה זו. העמודה 'R_age_qcut' מוצגת ב-DataFrame זה, שבה מוצגים פחים המסומנים.



דוגמה מס' 02

ליצירת ה-DataFrame, אנו מוסיפים תחילה 'ציונים', שהם '3, 6, 8, 7, 2, 5, 1, 9, 4, 7 ו-8'. לאחר מכן, אנו מוסיפים שמות של תלמידים ב'תלמידים', שהם 'פיטר, ברומלי, ג'יימס, דיוויד, בעלות הברית, ג'ון, ג'יימס, סמואל, וויליאם, הווארד ואלכסנדר'. לאחר מכן אנו יוצרים את ה-'Grades_df' שבו הוספנו את שיטת 'pd.DataFrame()', ובשיטה זו, שמים את 'Std_name', שיופיע כשם העמודה, ונקצה לזה ערכים של 'סטודנטים'. לאחר מכן אנו מגדירים את ה-'Students_grades' כשם העמודה של ה-DataFrame וגם מקצה כאן 'ציונים', שיצרנו למעלה. לאחר מכן, יש לנו את ה-'print()' בו נוסיף את 'Grades_df' להדפסה.


ה-DataFrame המכיל שתי עמודות מוצג בתוצאה של קוד זה. כעת, ניישם את שיטת 'qcut()' על העמודה 'Students_grades' לשילוב הנתונים של ערכי העמודה הזו.


אנו מוסיפים כאן עמודה חדשה 'ציון' בה החלנו את 'pd.qcut()' לעמודת 'תלמידים_דרגים', וגם, השתמשנו ב-'4' עבור הערך של ה-'q', כך שהוא יחתוך הנתונים לארבעה קוונטילים שווים. לאחר מכן, אנו מציינים את הקוונטילים הללו כאן על ידי הצבת ערכים ב-'q', שהם '0, .4, .8 ו-1'. לאחר מכן, אנו מציגים גם את זה. כעת, אנו מתייגים את הנתונים המוכנסים הללו, והתוויות שאנו מוסיפים כאן הן 'D, C, A ו-B' ומאוחסנות גם בעמודת 'ציון'.


כאן, הנתונים לאחר ה-binning מוצגים כאן בעמודת 'ציון', והוא חותך את הנתונים של העמודה 'תלמידים_ציונים' לארבעה קוונטילים שווים.


ה-DataFrame שאנו מקבלים לאחר החלת שיטת 'qcut()' וציון הקוונטילים מוצגת בתוצאה זו.


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

דוגמה מס' 03

אנו יכולים גם להחיל את שיטת 'qcut()' על הנתונים של קובץ ה-CSV. לשם כך, אנו קוראים תחילה את הנתונים של קובץ ה-CSV בעזרת שיטת 'read_csv()'. אנו קוראים את הנתונים של הקובץ 'office2.csv', ואז הנתונים של הקובץ הזה ממוקמים ב-'Office_df'. שיטה זו תמיר את הנתונים של קובץ 'office2' ל-DataFrame ותשמור אותם ב-'Office_df'. לאחר מכן, אנו מציגים את הנתונים הללו גם על ידי הכנסת ה-'Office_df' ב-'print()'. לאחר מכן, נוסיף עמודה חדשה בשם 'Units_qcut', עליה נחיל את הפונקציה 'pd.qcut()' לעמודת 'יחידות'.

בנוסף, אנו מגדירים את הערך של המשתנה 'q' ל-'5', אשר יחלק את הנתונים לחמישה קוונטילים שווים. הנתונים, לאחר חיתוך ל-5 קוונטילים שווים, מאוחסנים בעמודה 'Units_qcut', ועמודה זו מתווספת גם ל-'Office_df', וה-'Office_df' מוצג כאן שוב באמצעות 'print()'. כעת אנו מתייגים את הנתונים המוכנסים הללו, מוסיפים את התוויות בשיטת 'qcut()', שהן  'יחידה 1, יחידה 2, יחידה 3, יחידה 4 ויחידה 5' ומאחסנים אותן גם בעמודה 'תוויות'. . אנו גם מעבדים את ה-DataFrame הזה שבו מתווספת העמודה 'תוויות'.


הנתונים שאנו מקבלים לאחר קריאת הקובץ 'office2.csv' מוצגים כאן בצורה של DataFrame. לאחר מכן מתווספת העמודה 'Units_qcut', שבה מוצגים הערכים המוכנסים של העמודה 'יחידות'. לאחר מכן, העמודה 'תוויות' מתווספת גם היא, אשר מקצה את התוויות לערכים אלה. כל זה נעשה על ידי שימוש בשיטת 'qcut()' ב-'pandas'.

סיכום

הסברנו בפירוט את שיטת 'qcut()' במדריך זה, שעוזרת באיסוף הנתונים ב'פנדות'. דנו בכך שהנתונים נאגרים לפי ערך ה-'q' הכמותי שהוספנו בשיטת 'qcut()', וגם התאמנו את התוויות לנתונים המוכנסים הללו. חקרנו את שיטת 'qcut()' והחלנו את השיטה הזו על העמודות של ה-DataFrame, וגם החלנו את שיטת ה-'qcut()' הזו על הנתונים של קובץ ה-CSV לאחר קריאת קבצי ה-CSV. הצגנו את התוצאה של כל הקודים במדריך זה כדי להסביר ולהראות בבירור את התוצאה של שיטת 'qcut()'.