פנדות לְמַזֵג() מוגדר כתהליך של חיבור שני מערכי הנתונים לאחד ויישור השורות על סמך התכונות או העמודות המשותפות. זוהי נקודת כניסה לכל פעולות ההצטרפות הסטנדרטיות של מסד נתונים בין אובייקטי DataFrame:
תחביר:
pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=True)
פרמטרים:
- 'one_to_one' או '1:1': הוא בודק אם מפתחות המיזוג הם ייחודיים במערך הנתונים השמאלי והימין.
- 'one_to_many' או '1:m': הוא בודק אם מפתחות המיזוג הם ייחודיים רק במערך הנתונים השמאלי.
- 'many_to_one' או 'm:1': הוא בודק אם מפתחות המיזוג הם ייחודיים רק במערך הנתונים הנכון.
- 'רבים_לרבים' או 'מ:מ': זה מותר, אך אינו גורם לבדיקות.
זהו אובייקט שמתמזג עם ה-DataFrame.
סוג המיזוג שיש לבצע.
זה עמודה או שמות ברמת אינדקס להצטרף אליהם. זה חייב להימצא גם ב-DataFrames השמאלי וגם הימני. אם פועל הוא None ואינו מתמזג באינדקסים, אז זה כברירת מחדל לצומת העמודות בשני DataFrames.
עזב ב: תווית או רשימה, או דמוי מערך
זהו עמודה או שמות ברמת אינדקס מה-DataFrame השמאלי לשימוש כמפתח. זה יכול להיות מערך עם אורך שווה לאורך של DataFrame.
זה עמודה או שמות ברמת אינדקס מה-DataFrame הימני לשימוש כמפתחות. זה יכול להיות מערך עם אורך שווה לאורך של DataFrame.
הוא משתמש באינדקס מה-DataFrame השמאלי כמפתח/ים של הצטרפות, אם נכון. במקרה של MultiIndex (היררכי), מפתחות רבים ב-DataFrame האחר (או האינדקס או כמה עמודות) צריכים להתאים למספר הרמות.
הוא משתמש באינדקס מה-DataFrame הימני כמפתח הצטרפות. יש לו אותו שימוש כמו left_index.
אם נכון, הוא ממיין את מפתחות החיבור לפי סדר לקסיקוגרפי בתוצאה DataFrame. אחרת, סדר מפתחות ההצטרפות תלוי בסוג ההצטרפות (איך מילת מפתח).
זה סיומת להחיל כדי לחפוף את שמות העמודות ב-DataFrame השמאלי והימין, בהתאמה. העמודות משתמשות בערכי (False, False) כדי להעלות חריגה על חפיפה.
אם נכון, הוא מחזיר עותק של ה-DataFrame.
אחרת, זה יכול להימנע מהעותק.
אם נכון, זה מוסיף עמודה לפלט DataFrame ' _לְמַזֵג עם מידע על המקור של כל שורה. אם מדובר במחרוזת, עמודה עם מידע על המקור של כל שורה תתווסף לפלט DataFrame, והעמודה תיקרא ערך של מחרוזת. עמודת המידע מוגדרת כסוג קטגורי והיא מקבלת ערך של:
אם הוא צוין, הוא בודק את סוג המיזוג המופיע להלן:
דוגמה1: מיזוג שני DataFrames על מפתח
# import the pandas library import pandas as pd left = pd.DataFrame({ 'id':[1,2,3,4], 'Name': ['John', 'Parker', 'Smith', 'Parker'], 'subject_id':['sub1','sub2','sub4','sub6']}) right = pd.DataFrame({ 'id':[1,2,3,4], 'Name': ['William', 'Albert', 'Tony', 'Allen'], 'subject_id':['sub2','sub4','sub3','sub6']}) print (left) print (right)
תְפוּקָה
id Name subject_id 0 1 John sub1 1 2 Parker sub2 2 3 Smith sub4 3 4 Parker sub6 id Name subject_id 0 1 William sub2 1 2 Albert sub4 2 3 Tony sub3 3 4 Allen sub6
דוגמה 2: מיזוג שני DataFrames על מספר מפתחות:
import pandas as pd left = pd.DataFrame({ 'id':[1,2,3,4,5], 'Name': ['Alex', 'Amy', 'Allen', 'Alice', 'Ayoung'], 'subject_id':['sub1','sub2','sub4','sub6','sub5']}) right = pd.DataFrame({ 'id':[1,2,3,4,5], 'Name': ['Billy', 'Brian', 'Bran', 'Bryce', 'Betty'], 'subject_id':['sub2','sub4','sub3','sub6','sub5']}) print pd.merge(left,right,on='id')
תְפוּקָה
id Name_x subject_id_x Name_y subject_id_y 0 1 John sub1 William sub2 1 2 Parker sub2 Albert sub4 2 3 Smith sub4 Tony sub3 3 4 Parker sub6 Allen sub6