4 סוגי ההצטרפות ל-DataFrame המוצעים על ידי ספריית הפנדות של Python

4 סוגי ההצטרפות ל-DataFrame המוצעים על ידי ספריית הפנדות של Python

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





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





איפור של סרטון היום

חיבורי Python הם כמו חיבורי SQL: הם משלבים מערכי נתונים על ידי התאמת השורות שלהם באינדקס משותף.





כיצד להסיר סימן מים מהתמונות

צור שתי מסגרות נתונים לעיון

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

import pandas as pd 

a = pd.DataFrame({"ID": ["001", "002", "003", "004", "005"],
"Fname": ["Ron", "John", "Helen", "Jenny", "Kenny"],
"Lname": ["Keith", "Harley", "Smith", "Kerr-Hislop", "Barber"]})
print(a)

לשלב הראשון, ייבא את ה פנדות סִפְרִיָה. לאחר מכן תוכל להשתמש במשתנה, א , כדי לאחסן את התוצאה מבנאי DataFrame. העבר לבנאי מילון המכיל את הערכים הדרושים שלך.



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

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





b = pd.DataFrame({"ID": ["001", "002", "003", "004", "005"], 
"Salary": [100000, 700000, 80000, 904750, 604772]})

print(b)

אתה יכול לבדוק את הפלט בקונסולה או ב-IDE. זה אמור לאשר את התוכן של DataFrames שלך:

במה שונים הצטרפות מפונקציית המיזוג ב-Python?

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





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

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

מה אתה צריך לדעת על Joins ב- Python?

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

חלונות 10 לא יתעורר
  • חיבורי SQL הם אחת הפונקציות הבסיסיות ביותר והם די דומים להצטרפות של Python.
  • כדי להצטרף ל-DataFrames, אתה יכול להשתמש ב- pandas.DataFrame.join() שיטה.
  • צירוף ברירת המחדל מבצע צירוף שמאלי, בעוד שפונקציית המיזוג מבצעת צירוף פנימי.

תחביר ברירת המחדל עבור צירוף Python הוא כדלקמן:

DataFrame.join(other, on=None, how='left/right/inner/outer', lsuffix='', rsuffix='', 
sort=False)

הפעל את שיטת ה-join ב-DataFrame הראשון והעביר את ה-DataFrame השני כפרמטר הראשון שלו, אַחֵר . שאר הטיעונים הם:

  • עַל , אשר נותן שם לאינדקס להצטרף אליו, אם יש יותר מאחד.
  • אֵיך , איזה מגדיר את סוג החיבור, כולל פנימי, חיצוני, שמאל וימין.
  • סיומת , איזה מגדיר את מחרוזת הסיומת השמאלית של שם העמודה שלך.
  • סיומת r , איזה מגדיר את מחרוזת הסיומת הימנית של שם העמודה שלך.
  • סוג , איזה הוא בוליאני המציין אם למיין את ה-DataFrame שנוצר.

למד להשתמש בסוגי החיבורים השונים ב-Python

לפייתון יש כמה אפשרויות הצטרפות, אותן תוכל לממש, בהתאם לצורך של השעה. להלן סוגי ההצטרפות:

1. הצטרפו שמאל

החיבור השמאלי שומר על ערכי ה-DataFrame הראשון ללא פגע תוך הבאת הערכים התואמים מהשני. לדוגמה, אם אתה רוצה להביא את הערכים התואמים מ ב , אתה יכול להגדיר את זה באופן הבא:

c = a.join(b, how="left", lsuffix = "_left", rsuffix = "_right", sort = True) 
print(c)

כאשר השאילתה מופעלת, הפלט מכיל את הפניות העמודות הבאות:

  • ID_left
  • Fname
  • Lname
  • ID_right
  • שכר

צירוף זה מושך את שלוש העמודות הראשונות מה-DataFrame הראשון, ואת שתי העמודות האחרונות מה-DataFrame השני. זה השתמש ב סיומת ו סיומת r ערכים כדי לשנות את שמות עמודות המזהה משני מערכי הנתונים, כדי להבטיח ששמות השדות המתקבלים יהיו ייחודיים.

הפלט הוא כדלקמן:

  קוד המציג את ההצטרפות השמאלית ב- Python's dataframes

2. הצטרף נכון

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

c = b.join(a, how="right", lsuffix = "_right", rsuffix = "_left", sort = True) 
print(c)

הפלט הוא כדלקמן:

  קוד המציג הצטרפות ימנית ב- Python's dataframes

אם תבדוק את הקוד, יש כמה שינויים ברורים. לדוגמה, התוצאה כוללת את העמודות של ה-DataFrame השני לפני אלו מה-DataFrame הראשון.

כיצד לבדוק זיכרון ב- mac

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

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

3. הצטרפות פנימית

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

a = pd.DataFrame({"ID": ["001", "002", "003", "004", "005", "006", "007"], 
"Fname": ["Ron", "John", "Helen", "Jenny", "Kenny", "Daryl", "Cathy"],
"Lname": ["Keith", "Harley", "Smith", "Kerr-Hislop", "Barber", "Hooper", "Hope"]})
b = pd.DataFrame({"ID": ["001", "002", "003", "004", "005"],
"Salary": [100000, 700000, 80000, 904750, 604772]})

print(a)
print(b)

הפלט הוא כדלקמן:

  צור מסגרות נתונים חדשות ב- Python

אתה יכול להשתמש בחיבור פנימי, באופן הבא:

c = a.join(b, lsuffix="_left", rsuffix="_right", how='inner') 
print(c)

הפלט המתקבל מכיל רק שורות הקיימות בשני DataFrames הקלט:

  קוד המציג צירוף פנימי ב-Python's dataframes

4. חיבור חיצוני

צירוף חיצוני מחזיר את כל הערכים משני ה-DataFrames. עבור שורות ללא ערכים תואמים, הוא מייצר ערך ריק על התאים הבודדים.

באמצעות אותה DataFrame כמו לעיל, הנה הקוד לחיבור חיצוני:

c = a.join(b, lsuffix="_left", rsuffix="_right", how='outer') 
print(c)
  קוד המציג צירוף חיצוני ב-Python's dataframes

שימוש ב-Joins ב-Python

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

אתה יכול למיין את מערכי הנתונים המתקבלים בקלות יחסית, עם או בלי פונקציית ה-join, עם האפשרויות הגמישות ש-Python מציעה.