وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

Seaborn Boxplot – آموزش و مثال

0 2
زمان لازم برای مطالعه: 5 دقیقه


معرفی

متولد دریا یکی از پرکاربردترین کتابخانه های تجسم داده در پایتون، به عنوان پسوندی است Matplotlib. این یک API ساده، بصری و در عین حال بسیار قابل تنظیم برای تجسم داده ها ارائه می دهد.

در این آموزش، روش انجام این کار را بررسی خواهیم کرد طرح یک جعبه در Seaborn.

نمودارهای جعبه ای برای تجسم آمار خلاصه یک مجموعه داده، نمایش ویژگی های توزیع مانند محدوده و توزیع داده ها استفاده می شود.

وارد کردن داده ها

برای ایجاد یک باکس پلات، باید مجموعه داده ای با ویژگی های پیوسته انتخاب کنیم، زیرا نمودارهای جعبه آمار خلاصه ای را برای متغیرهای پیوسته نمایش می دهند – میانه و محدوده یک مجموعه داده. ما با آن کار خواهیم کرد آتش سوزی جنگل مجموعه داده

ما با وارد کردن پانداها برای بارگیری و تجزیه مجموعه داده ها شروع می کنیم. ما بدیهی است که می خواهیم import متولدین دریا نیز. در نهایت، ما import ماژول Pyplot از Matplotlib، تا بتوانیم تجسم ها را نشان دهیم:

import pandas as pd
from matplotlib import pyplot as plt
import seaborn as sns

بیایید از پانداها برای خواندن فایل CSV و بررسی روش عملکرد ما استفاده کنیم DataFrame با چاپ سر خود به نظر می رسد. علاوه بر این، ما می خواهیم بررسی کنیم که آیا مجموعه داده حاوی مقادیر گم شده ای است یا خیر:

dataframe = pd.read_csv("forestfires.csv")
print(dataframe.head())
print(dataframe.isnull().values.any())
   X  Y month  day  FFMC   DMC     DC  ISI  temp  RH  wind  rain  area
0  7  5   mar  fri  86.2  26.2   94.3  5.1   8.2  51   6.7   0.0   0.0
1  7  4   oct  tue  90.6  35.4  669.1  6.7  18.0  33   0.9   0.0   0.0
2  7  4   oct  sat  90.6  43.7  686.9  6.7  14.6  33   1.3   0.0   0.0
3  8  6   mar  fri  91.7  33.3   77.5  9.0   8.3  97   4.0   0.2   0.0
4  8  6   mar  sun  89.3  51.3  102.2  9.6  11.4  99   1.8   0.0   0.0
False

دومین print بیانیه برمی گردد False، به این معنی که هیچ داده از دست رفته ای وجود ندارد. اگر وجود داشت، باید مقادیر از دست رفته DataFrame را مدیریت کنیم.

پس از بررسی سازگاری مجموعه داده خود، می خواهیم ویژگی های پیوسته ای را که می خواهیم تجسم کنیم انتخاب کنیم. برای راحتی، اینها را به عنوان متغیرهای خود ذخیره می کنیم:

FFMC = dataframe("FFMC")
DMC = dataframe("DMC")
DC = dataframe("DC")
RH = dataframe("RH")
ISI = dataframe("ISI")
temp = dataframe("temp")

طرح یک باکس پلات در Seaborn

اکنون که داده ها را بارگذاری کرده ایم و ویژگی هایی را که می خواهیم تجسم کنیم انتخاب کرده ایم، می توانیم Boxplots را ایجاد کنیم!

ما می توانیم باکس پلات را فقط با استفاده از Seaborn ایجاد کنیم boxplot تابع. ما در چارچوب داده و همچنین متغیرهایی را که می خواهیم تجسم کنیم، ارسال می کنیم:

sns.boxplot(x=DMC)
plt.show()

طرح جعبه ساده متولد شده در دریا

اگر بخواهیم فقط توزیع یک متغیر طبقه‌بندی را تجسم کنیم، می‌توانیم متغیر انتخابی خود را به‌عنوان عدد ارائه کنیم x بحث و جدل. اگر این کار را انجام دهیم، Seaborn مقادیر را محاسبه می کند روی همانطور که می بینیم، محور Y به طور خودکار روی تصویر قبلی

با این حال، اگر توزیع خاصی وجود داشته باشد که بخواهیم آن را بر اساس نوع تقسیم بندی کنیم، می توانیم یک متغیر X طبقه بندی و یک متغیر Y پیوسته نیز ارائه کنیم.

day = dataframe("day")
sns.boxplot(x=DMC, y=day)
plt.show()

باکس پلات متغیر x و y seaborn

این بار، همانطور که در مجموعه داده مشخص شده است، می‌توانیم نمودار جعبه‌ای را ببینیم که برای هر روز در هفته تولید می‌شود.

اگر بخواهیم چندین ستون را همزمان تجسم کنیم، چه چیزی را به آن ارائه می دهیم x و y استدلال ها؟ خوب، ما برچسب‌هایی را برای داده‌هایی که می‌خواهیم ارائه می‌کنیم و داده‌های واقعی را با استفاده از آن ارائه می‌کنیم data بحث و جدل.

ما می توانیم جدید ایجاد کنیم DataFrame فقط شامل داده هایی است که می خواهیم تجسم کنیم، و melt() آن را به data استدلال، ارائه برچسب هایی مانند x='variable' و y='value':

df = pd.DataFrame(data=dataframe, columns=("FFMC", "DMC", "DC", "ISI"))
sns.boxplot(x="variable", y="value", data=pd.melt(df))
plt.show()

نمودار جعبه آرگومان داده های دریایی

سفارشی کردن Boxplot Seaborn

رنگ های Boxplot را تغییر دهید

Seaborn به طور خودکار رنگ های مختلف را به متغیرهای مختلف اختصاص می دهد تا بتوانیم به راحتی آنها را از نظر بصری متمایز کنیم. با این حال، ما همچنین می‌توانیم فهرستی از رنگ‌ها را ارائه کنیم که می‌خواهیم آن‌ها را مشخص کنیم.

پس از انتخاب فهرستی از رنگ‌ها با مقادیر هگز (یا هر رنگ معتبر Matplotlib)، می‌توانیم آن‌ها را به آن ارسال کنیم palette بحث و جدل:

day = dataframe("day")
colors = ('#78C850', '#F08030', '#6890F0','#F8D030', '#F85888', '#705898', '#98D8D8')
sns.boxplot(x=DMC, y=day, palette=colors)
plt.show()

تغییر رنگ در دریا

سفارشی کردن برچسب های محور

با استفاده از Seaborn می‌توانیم برچسب‌های محور X و Y را به راحتی تنظیم کنیم، مانند تغییر اندازه فونت، تغییر برچسب‌ها یا چرخاندن آنها برای آسان‌تر خواندن تیک‌ها:

df = pd.DataFrame(data=dataframe, columns=("FFMC", "DMC", "DC", "ISI"))
boxplot = sns.boxplot(x="variable", y="value", data=pd.melt(df))
boxplot.axes.set_title("Distribution of Forest Fire Conditions", fontsize=16)
boxplot.set_xlabel("Conditions", fontsize=14)
boxplot.set_ylabel("Values", fontsize=14)
plt.show()

Seaborn سفارشی کردن برچسب های محور جعبه جعبه

سفارش باکس پلات

اگر بخواهیم کادرها را به ترتیب خاصی مشاهده کنیم، می‌توانیم با استفاده از آن این کار را انجام دهیم order آرگومان، و ارائه نام ستون ها به ترتیبی که می خواهید آنها را ببینید:

df = pd.DataFrame(data=dataframe, columns=("FFMC", "DMC", "DC", "ISI"))
boxplot = sns.boxplot(x="variable", y="value", data=pd.melt(df), order=("DC", "DMC", "FFMC", "ISI"))
boxplot.axes.set_title("Distribution of Forest Fire Conditions", fontsize=16)
boxplot.set_xlabel("Conditions", fontsize=14)
boxplot.set_ylabel("Values", fontsize=14)
plt.show()

جعبه های سفارش دریایی

ایجاد طرح های فرعی

اگر بخواهیم نمودارها را برای هر یک از ویژگی‌ها به طرح‌های فرعی خود جدا کنیم، می‌توانیم با ایجاد یک شکل و محورها این کار را انجام دهیم. subplots تابع از Matplotlib. سپس، ما از axes شیء کنید و از طریق فهرست آنها به آنها دسترسی داشته باشید. را boxplot() تابع یک را می پذیرد ax استدلال، مشخص کردن روی که axes باید ترسیم شود روی:

fig, axes = plt.subplots(1, 2)
sns.boxplot(x=day, y=DMC, orient='v', ax=axes(0))
sns.boxplot(x=day, y=DC, orient='v', ax=axes(1))
plt.show()

seaborn طرح های فرعی جعبه را ایجاد می کند

Boxplot با Data Points

ما حتی می‌توانیم یک swarmplot را روی boxplot قرار دهیم تا توزیع و نمونه‌هایی از نقاط تشکیل‌دهنده آن توزیع را با کمی جزئیات بیشتر ببینیم.

برای انجام این کار، فقط یک شیء شکل واحد ایجاد می کنیم و سپس دو نمودار متفاوت ایجاد می کنیم. را stripplot() روی آن پوشانده خواهد شد boxplot()، از آنجایی که آنها هستند روی همان axes/figure:

df = pd.DataFrame(data=dataframe, columns=("FFMC", "DMC", "DC", "ISI"))
boxplot = sns.boxplot(x="variable", y="value", data=pd.melt(df), order=("DC", "DMC", "FFMC", "ISI"))
boxplot = sns.stripplot(x="variable", y="value", data=pd.melt(df), marker="o", alpha=0.3, color="black", order=("DC", "DMC", "FFMC", "ISI"))
boxplot.axes.set_title("Distribution of Forest Fire Conditions", fontsize=16)
boxplot.set_xlabel("Conditions", fontsize=14)
boxplot.set_ylabel("Values", fontsize=14)
plt.show()

stripplot روکش دریایی روی باکس پلات

نتیجه

در این آموزش، ما چندین روش را برای ترسیم یک باکس پلات با استفاده از Seaborn و Python بررسی کرده‌ایم. ما همچنین روش سفارشی کردن رنگ‌ها، برچسب‌ها، سفارش‌دهی، و همچنین انبوه پلات‌ها و طرح‌های فرعی چند جعبه را پوشش داده‌ایم.

اگر به تجسم داده‌ها علاقه دارید و نمی‌دانید از کجا شروع کنید، حتماً ما را بررسی کنید بسته کتاب روی تجسم داده ها در پایتون:

تجسم داده ها در پایتون با Matplotlib و Pandas کتابی است که طراحی شده است تا مبتدیان مطلق را با دانش پایه پایتون به Pandas و Matplotlib ببرد و به آنها اجازه دهد پایه ای قوی برای کار پیشرفته با این کتابخانه ها بسازند – از طرح های ساده گرفته تا طرح های سه بعدی متحرک با دکمه های تعاملی.

این به عنوان یک راهنمای عمیق عمل می کند که همه چیزهایی را که باید در مورد پانداها و Matplotlib بدانید، از جمله روش ساخت انواع طرح هایی که در خود کتابخانه تعبیه نشده اند را به شما آموزش می دهد.

تجسم داده ها در پایتون، کتابی برای توسعه دهندگان پایتون مبتدی تا متوسط، شما را در دستکاری ساده داده ها با پانداها راهنمایی می کند، کتابخانه های ترسیم هسته ای مانند Matplotlib و Seaborn را پوشش می دهد و به شما نشان می دهد که چگونه از کتابخانه های اعلامی و تجربی مانند Altair استفاده کنید. به طور خاص، در طول ۱۱ فصل، این کتاب ۹ کتابخانه پایتون را پوشش می‌دهد: Pandas، Matplotlib، Seaborn، Bokeh، Altair، Plotly، GGPlot، GeoPandas و VisPy.

این به عنوان یک راهنمای عملی و منحصر به فرد برای تجسم داده ها، در مجموعه ای از ابزارهایی که ممکن است در حرفه خود استفاده کنید، عمل می کند.

(برچسب‌ها به ترجمه)# python



منتشر شده در 1403-01-12 22:49:03

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید