ادغام و الحاق DataFrame در Pandas
Pandas ابزارهای قدرتمندی برای ادغام و الحاق DataFrame ها به منظور ترکیب داده ها از منابع مختلف ارائه می دهد.
انواع ادغام:
- ادغام داخلی: فقط سطرهایی را که در هر دو DataFrame دارای کلید مشترک هستند، حفظ می کند.
- ادغام خارجی سمت چپ: تمام سطرها از DataFrame سمت چپ را حفظ می کند و سطرهای مطابق از DataFrame سمت راست را اضافه می کند.
- ادغام خارجی سمت راست: تمام سطرها از DataFrame سمت راست را حفظ می کند و سطرهای مطابق از DataFrame سمت چپ را اضافه می کند.
- ادغام خارجی: تمام سطرها از هر دو DataFrame را حفظ می کند، صرف نظر از اینکه کلید مشترک دارند یا خیر.
- پیوستن متقاطع: تمام ترکیبات ممکن از سطرها از هر دو DataFrame را ایجاد می کند.
روش های ادغام:
merge()
: برای ادغام DataFrame ها بر اساس ستون های کلید مشترک استفاده می شود.concat()
: برای الحاق DataFrame ها به صورت عمودی (بالا به پایین) یا افقی (سمت به سمت) استفاده می شود.append()
: برای الحاق DataFrame ها به صورت عمودی به DataFrame موجود استفاده می شود.
مثال:
import pandas as pd
# DataFrame های نمونه
df1 = pd.DataFrame({"Name": ["Alice", "Bob", "Charlie"], "Age": [۳۰, ۲۵, ۲۲], "City": ["New York", "Montreal", "Los Angeles"]})
df2 = pd.DataFrame({"Name": ["Bob", "Charlie", "David"], "Job": ["Software Engineer", "Data Scientist", "Marketing Manager"], "Country": ["Canada", "USA", "USA"]})
# ادغام داخلی
merged_df = df1.merge(df2, on="Name", how="inner")
print(merged_df)
# ادغام خارجی سمت چپ
left_merged_df = df1.merge(df2, on="Name", how="left")
print(left_merged_df)
# الحاق عمودی
concatenated_df = pd.concat([df1, df2])
print(concatenated_df)
نکات:
- می توانید از پارامترهای
how
وon
درmerge()
برای تعیین نوع ادغام و ستون های کلید مشترک استفاده کنید. - می توانید از پارامتر
ignore_index
درconcat()
برای کنترل نحوه مدیریت شاخص ها هنگام الحاق DataFrame ها استفاده کنید. - می توانید از توابع Pandas مانند
set_index()
,reset_index()
,drop_duplicates()
وrename()
برای آماده سازی DataFrame ها قبل از ادغام یا الحاق آنها استفاده کنید.
با استفاده از ابزارهای ادغام و الحاق DataFrame در Pandas، می توانید به طور موثر داده ها را از منابع مختلف ترکیب و تجزیه و تحلیل کنید.
ادغام و الحاق DataFrame در Pandas: رویکرد گام به گام
در این مقاله، به بررسی ادغام و الحاق DataFrame در Pandas می پردازیم. Pandas کتابخانه ای محبوب برای تجزیه و تحلیل داده ها در پایتون است که ابزارهای قدرتمندی برای ترکیب و دستکاری مجموعه داده ها ارائه می دهد.
فرض کنید چهار DataFrame به شرح زیر داریم:
- df1: شامل اطلاعات مربوط به سفارشات مانند شناسه سفارش، شناسه مشتری و شناسه محصول
- df2: شامل اطلاعات مربوط به مشتریان مانند شناسه مشتری، نام و شهر
- df3: شامل اطلاعات مربوط به محصولات مانند شناسه محصول، نام محصول و دسته بندی
- df4: شامل اطلاعات مربوط به آدرس حمل و نقل مانند شناسه سفارش و آدرس
هدف ما ادغام این DataFrame ها برای ایجاد یک DataFrame واحد با تمام اطلاعات مربوط به سفارشات، مشتریان، محصولات و آدرس های حمل و نقل است. در عین حال، می خواهیم تمام سطرهای df1 را حفظ کنیم، حتی اگر در سایر DataFrame ها مطابقت نداشته باشند (ادغام سمت چپ).
در ادامه، مراحل ادغام و الحاق DataFrame ها را به صورت گام به گام شرح می دهیم:
۱. کتابخانه Pandas را وارد کنید:
import pandas as pd
۲. DataFrame ها را بخوانبد:
فرض کنید DataFrame ها در قالب CSV ذخیره شده اند. می توانید از دستور pd.read_csv()
برای خواندن آنها استفاده کنید:
df1 = pd.read_csv("orders.csv")
df2 = pd.read_csv("customers.csv")
df3 = pd.read_csv("products.csv")
df4 = pd.read_csv("shipping_addresses.csv")
۳. ادغام df1 و df2:
ابتدا، df1 و df2 را بر اساس ستون مشترک “Customer ID” ادغام می کنیم. از پارامتر how="left"
استفاده می کنیم تا تمام سطرهای df1 را حفظ کنیم:
df1_2 = df1.merge(df2, left_on="Customer ID", right_on="Customer ID", how="left")
۴. ادغام df1_2 و df3:
در مرحله بعد، df1_2 و df3 را بر اساس ستون مشترک “Product ID” ادغام می کنیم:
df1_2_3 = df1_2.merge(df3, left_on="Product ID", right_on="Product ID", how="left")
۵. ادغام df1_2_3 و df4:
در نهایت، df1_2_3 و df4 را بر اساس ستون مشترک “Order ID” ادغام می کنیم:
merged_df = df1_2_3.merge(df4, left_on="Order ID", right_on="Order ID", how="left")
۶. نتیجه را بررسی کنید:
DataFrame ادغام شده را چاپ کنید تا مطمئن شوید که تمام اطلاعات به درستی ترکیب شده اند:
print(merged_df)
با استفاده از این رویکرد گام به گام، می توانید به طور موثر DataFrame ها را در Pandas ادغام و الحاق کنید و مجموعه داده های جامع تری برای تجزیه و تحلیل خود ایجاد کنید.
نکات:
- می توانید از پارامترهای مختلف
merge()
مانندvalidate="1:m"
برای بررسی اینکه هر مقدار “Order ID” در df1 فقط با حداکثر یک مقدار در df2 مطابقت داشته باشد، استفاده کنید. - می توانید از توابع Pandas مانند
set_index()
,reset_index()
,drop
وunique()
برای دستکاری بیشتر داده های ادغام شده خود استفاده کنید. - برای اطلاعات بیشتر در مورد ادغام و الحاق DataFrame در Pandas، به مستندات رسمی Pandas مراجعه کنید: https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.merge.html
نتیجه:
ادغام و الحاق DataFrame ها در Pandas ابزاری قدرتمند برای ترکیب مجموعه داده های مختلف و ایجاد اطلاعات جامع برای تجزیه و تحلیل است. با استفاده از رویکرد گام به گام ارائه شده در این مقاله و درک مفاهیم کلیدی، می توانید به طور موثر این عملیات را انجام دهید و به نتایج مورد نظر خود دست پیدا کنید.