כיצד חדשנות בטכנולוגיה מעצימה את תחום פיתוח האפליקציות? 1

כיצד לשאול את מסגרת הנתונים שלך של פנדות

צומת המקור: 1017694

כיצד לשאול את מסגרת הנתונים שלך של פנדות

נקודת מבט של מדען נתונים על פונקציות Python דמויות SQL.


By מת'יו פריזיבלה, מדען נתונים בכיר במשלוח לטובת



תמונה על ידי ברוס הונג on Unsplash [1].

תוכן העניינים

 
 

  1. מבוא
  2. תנאים מרובים
  3. מיזוג על עמודות מרובות וספציפיות
  4. <br> סיכום
  5. הפניות

מבוא

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

תנאים מרובים

 
 



נתונים לדוגמה. צילום מסך מאת מחבר [2].

 

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

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

הנה הקוד שיפתור את השאלה (יש כמה דרכים לענות על השאלה הזו, אבל הנה הדרך הספציפית שלי לעשות את זה):

print(“Percent of data who are Males OR were born between 2010 and 2021:”, 100*round(df[(df[‘Gender’] == ‘M’) | (df[‘Birthdate’] >= ‘2010–01–01’) & (df[‘Birthdate’] <= ‘2021–01–01’)][‘Gender’].count()/df.shape [0],4), “%”)

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



קוד תנאים. צילום מסך מאת מחבר [3].

 

להלן סדר הפקודות שביצענו:

  • החזר שורות עם זכר Gender
  • כלול את ה- OR פונקציה |
  • החזר את השורות של Birthdate > 2010 ו -2021
  • שלבו את כולם ואז חלקו בכמות השורות הכוללת

כפי שאתה יכול לראות, קוד זה דומה למשהו שהיית רואה ב-SQL. אני אישית חושב שזה קל יותר בפנדות כי זה יכול להיות פחות קוד, תוך שהוא מסוגל לראות חזותית את כל הקוד במקום קל אחד, בלי צורך לגלול למעלה ולמטה (אבל הפורמט הזה הוא רק ההעדפה שלי).

מיזוג על עמודות מרובות וספציפיות

 
 



תוצאת מסגרת נתונים ממוזגת. צילום מסך מאת מחבר [4].

 

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

יש לנו את מסגרת הנתונים הראשונה שלנו, שהיא df, ואז אנחנו ממזגים את העמודות שלנו על מסגרת נתונים שנייה, df2. הנה הקוד כדי להשיג את התוצאה הצפויה שלנו:

merged_df = df.merge(df2, how=’inner’, left_on=cols, right_on=cols )

כדי לדמיין טוב יותר את המיזוג והקוד הזה, הצגתי את צילום המסך למטה. אתה רואה איך נראית מסגרת הנתונים השנייה למטה, עם ה First ו Last שמות, בדיוק כמו שהם נמצאים במסגרת הנתונים הראשונה, אבל עם עמודה חדשה, Numeric. לאחר מכן, יש לנו עמודות ספציפיות שרצינו להתמזג בהן, תוך החזרת עמודות GenderBirthdate, וחדש Numeric גם עמודה. העמודות הן רשימה של עמודות, אשר נקראת cols.



מיזוג מסגרת נתונים. צילום מסך מאת מחבר [5].

 

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

<br> סיכום

 
 
במדריך זה, ראינו שתי שאלות או שאילתות נפוצות שתבצע ב-SQL, אך במקום זאת, ביצעת אותן עם מסגרות נתונים של פנדה ב-Python.

לסיכום, הנה שני התרחישים שאיתם עבדנו:

  1. החזרת אחוז השורות מתוך מערך הנתונים הכולל ממספר תנאים
  2. מיזוג על מספר עמודות ספציפיות כדי להחזיר מסגרת נתונים סופית עם עמודה חדשה

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

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

אני לא קשור לחברות האלה.

 
הפניות

[1] תמונה מאת ברוס הונג on Unsplash(2018)

[2] M. Przybyla, צילום מסך לדוגמה, (2021)

[3] M. Przybyla, צילום מסך קוד תנאים, (2021)

[4] M. Przybyla, צילום מסך של תוצאת מסגרת נתונים ממוזגת, (2021)

[5] M. Przybyla, צילום מסך של מיזוג נתונים, (2021)

 
Bio you מת'יו פריזיבלה הוא מדען נתונים בכיר בחברת Favor Delivery, וכותב טכני עצמאי, במיוחד במדעי הנתונים.

מְקוֹרִי. פורסם מחדש באישור.

מידע נוסף:

מקור: https://www.kdnuggets.com/2021/08/query-pandas-dataframe.html

בול זמן:

עוד מ KDnuggets