اگر با چندین DataFrame مرتبط کار میکنید، احتمالاً میخواهید زمانی به آنها بپیوندید. ببینید چگونه کتابخانه پانداها می تواند کمک کند.
اگر از پایتون استفاده میکنید، حتی برای سادهترین کارها، احتمالاً از اهمیت کتابخانههای شخص ثالث آن آگاه هستید. کتابخانه Pandas با پشتیبانی عالی از DataFrames یکی از این کتابخانه هاست.
میتوانید چندین نوع فایل را به پایتون DataFrames وارد کنید و نسخههای مختلفی را برای ذخیره مجموعه دادههای مختلف ایجاد کنید. هنگامی که داده های خود را با استفاده از DataFrames وارد کردید، می توانید آنها را برای انجام تجزیه و تحلیل دقیق ادغام کنید.
مقابله با اصول
قبل از شروع ادغام، باید DataFrames را برای ادغام داشته باشید. برای اهداف توسعه، میتوانید برخی از دادههای ساختگی را برای آزمایش ایجاد کنید.
DataFrames را در پایتون ایجاد کنید
به عنوان اولین قدم، کتابخانه پانداها را در فایل پایتون خود وارد کنید. Pandas یک کتابخانه شخص ثالث است که DataFrames را در پایتون مدیریت می کند. برای استفاده از کتابخانه می توانید از دستور import به صورت زیر استفاده کنید:
import pandas as pd
می توانید برای کوتاه کردن مراجع کد خود، نام مستعار را به نام کتابخانه اختصاص دهید.
شما باید دیکشنری هایی ایجاد کنید که می توانید آنها را به DataFrames تبدیل کنید. برای بهترین نتایج، دو متغیر فرهنگ لغت – dict1 و dict2 – برای ذخیره اطلاعات خاص ایجاد کنید:
dict1 = {"user_id": ["001", "002", "003", "004", "005"],
"FName": ["John", "Brad", "Ron", "Roald", "Chris"],
"LName": ["Harley", "Cohen", "Dahl", "Harrington", "Kerr-Hislop"]}
dict2 = {"user_id": ["001", "002", "003", "004"], "Age": [15, 28, 34, 24]}
به یاد داشته باشید، شما باید یک عنصر مشترک در هر دو مقدار فرهنگ لغت داشته باشید تا به عنوان کلید اصلی برای ترکیب DataFrames شما در آینده عمل کند.
دیکشنری های خود را به DataFrame تبدیل کنید
برای تبدیل مقادیر دیکشنری خود به DataFrames، می توانید از روش زیر استفاده کنید:
df1 = pd.DataFrame(dict1)
df2 = pd.DataFrame(dict2)
برخی از IDE ها به شما امکان می دهند مقادیر درون DataFrame را با ارجاع به تابع DataFrame و فشار دادن Run/Execute بررسی کنید. بسیاری از IDE های سازگار با پایتون وجود دارد، بنابراین می توانید یکی را انتخاب کنید که برای شما آسان تر است.
هنگامی که از محتویات DataFrames خود راضی شدید، می توانید به مرحله ادغام بروید.
ترکیب فریم ها با تابع ادغام
تابع merge اولین تابع پایتون است که می توانید برای ترکیب دو DataFrame از آن استفاده کنید. این تابع آرگومان های پیش فرض زیر را می گیرد:
pd.merge(DataFrame1, DataFrame2, how= type of merge)
جایی که:
- pd نام مستعار کتابخانه پانداها است.
- merge تابعی است که DataFrames را ادغام می کند.
- DataFrame1 و DataFrame2 دو DataFrame برای ادغام هستند.
- چگونه نوع ادغام را تعریف می کند.
برخی از آرگومان های اختیاری اضافی در دسترس هستند که می توانید در صورت داشتن ساختار داده پیچیده از آنها استفاده کنید.
میتوانید از مقادیر مختلف برای پارامتر how برای تعریف نوع ادغام برای انجام استفاده کنید. اگر از SQL برای پیوستن به جداول پایگاه داده استفاده کرده باشید، این نوع ادغام آشنا خواهند بود.
ادغام چپ
نوع ادغام سمت چپ مقادیر DataFrame اول را دست نخورده نگه می دارد و مقادیر منطبق را از DataFrame دوم بیرون می کشد.
ادغام راست
نوع ادغام سمت راست، مقادیر DataFrame دوم را دست نخورده نگه می دارد و مقادیر منطبق را از DataFrame اول بیرون می کشد.
ادغام درونی
نوع ادغام داخلی مقادیر منطبق را از هر دو DataFrame حفظ می کند و مقادیر غیر منطبق را حذف می کند.
ادغام بیرونی
نوع ادغام بیرونی تمام مقادیر منطبق و غیر منطبق را حفظ می کند و DataFrames را با هم ادغام می کند.
نحوه استفاده از تابع Concat
تابع concat در مقایسه با برخی دیگر از توابع ادغام پایتون یک گزینه انعطاف پذیر است. با تابع concat، می توانید DataFrames را به صورت عمودی و افقی ترکیب کنید.
با این حال، اشکال استفاده از این تابع این است که به طور پیشفرض مقادیر غیر منطبق را کنار میگذارد. مانند برخی دیگر از توابع مرتبط، این تابع دارای چند آرگومان است که تنها تعدادی از آنها برای یک الحاق موفقیت آمیز ضروری هستند.
concat(dataframes, axis=0, join='outer'/’inner’)
جایی که:
- concat تابعی است که به DataFrames می پیوندد.
- dataframes دنباله ای از DataFrames برای به هم پیوستن است.
- محور نشان دهنده جهت الحاق است، 0 افقی، 1 عمودی است.
- join یک اتصال خارجی یا داخلی را مشخص می کند.
با استفاده از دو DataFrame فوق، می توانید تابع concat را به صورت زیر امتحان کنید:
# define the dataframes in a list format
df_merged_concat = pd.concat([df1, df2])
# print the results of the Concat function
print(df_merged_concat)
عدم وجود آرگومان های محور و پیوند در کد بالا، دو مجموعه داده را ترکیب می کند. خروجی حاصل همه ورودیها را بدون در نظر گرفتن وضعیت مسابقه دارد.
به طور مشابه، می توانید از آرگومان های اضافی برای کنترل جهت و خروجی تابع concat استفاده کنید.
برای کنترل خروجی با تمام ورودی های منطبق:
# Concatenating all matching values between the two dataframes based on their columns
df_merged_concat = pd.concat([df1, df2], axis=1, join = 'inner')
print(df_merged_concat)
نتیجه فقط شامل تمام مقادیر تطبیق بین دو DataFrame است.
ادغام دیتا فریم ها با پایتون
DataFrame ها با توجه به انعطاف پذیری و عملکردشان، بخشی جدایی ناپذیر از پایتون هستند. با توجه به کاربردهای چند وجهی آنها، می توانید به طور گسترده از آنها برای انجام کارهای مختلف با حداکثر سهولت استفاده کنید.
اگر هنوز در مورد Python DataFrames یاد میگیرید، سعی کنید چند فایل اکسل را وارد کنید، سپس آنها را با رویکردهای مختلف ترکیب کنید.