پانداها تاکنون در مرحله پیش پردازش داده ها به ما کمک کرده اند. اگرچه، در یک نمونه، هنگام ایجاد هیستوگرام، ما از ماژول دیگری از Pandas نیز استفاده کرده ایم - plotting
.
ما به طور هدفمند از این موضوع اجتناب کردهایم، زیرا معرفی زودتر آن سؤالات بیشتری را نسبت به پاسخهای آن ایجاد میکند. یعنی پانداها و Matplotlib آنقدر رایج بود که Pandas کارکرد Matplotlib را ادغام کرد. آی تی به شدت برای انجام هر گونه ترسیم واقعی به Matplotlib متکی است و بسیاری از توابع Matplotlib را در کد منبع پیدا خواهید کرد. همچنین میتوانید از پسزمینههای دیگر برای ترسیم نقشه استفاده کنید، مانند دسیسه و بوکه چه میدانیم..
با این حال، پانداها نیز ما را با چند طرح آشنا می کند که نه بخشی از انواع پلات استاندارد Matplotlib مانند KDE ها, منحنی اندروز, توطئه های بوت استرپ و ماتریس های پراکندگی.
La plot()
عملکرد یک پاندا DataFrame
از backend مشخص شده توسط استفاده می کند plotting.backend
، و بسته به kind
آرگومان - با استفاده از کتابخانه داده شده یک نمودار تولید می کند. از آنجایی که بسیاری از این موارد با هم همپوشانی دارند - هیچ فایده ای برای پوشش انواع طرح ها وجود ندارد line
, bar
, hist
و scatter
. آنها تقریباً همان نمودارها را با همان کدی که ما تاکنون با Matplotlib انجام داده ایم تولید می کنند.
ما فقط نگاهی کوتاه به آن خواهیم داشت plot()
عملکرد از آنجایی که مکانیسم زیربنایی تاکنون مورد بررسی قرار گرفته است. در عوض، بیایید روی برخی از توطئه هایی که ما داریم تمرکز کنیم نمی تواند در حال حاضر به راحتی با Matplotlib انجام دهید.
این یک فصل بسیار کوتاه خواهد بود، زیرا تواناییهای ترسیم و تجسم پانداها در مقایسه با Matplotlib کمرنگ است - اما دانستن برخی از آنها و همچنین آگاهی از توانایی ترسیم از آنها مفید است. DataFrame
s به طور مستقیم
La DataFrame.plot() عملکرد
La plot()
تابع می پذیرد x
و y
ویژگی ها و الف kind
بحث و جدل. روش دیگر، برای جلوگیری از kind
استدلال، شما همچنین می توانید تماس بگیرید DataFrame.plot.kind()
در عوض، و عبور در x
و y
ویژگی های.
مقادیر پذیرفته شده برای kind
استدلال عبارتند از: line
, bar
, barh
(نوار افقی)، hist
, box
, kde
, density
(مترادف برای kde
), area
, pie
, scatter
و hexbin
(شبیه به نقشه حرارتی).
import pandas as pd
from matplotlib import pyplot as plt df = pd.read_csv('gdp_csv.csv')
df_eu = df.loc[df['Country Name'] == 'European Union'] df_eu.plot.bar(x = 'Year', y = 'Value')
df_eu.plot.line(x = 'Year', y = 'Value')
df_eu.plot.box(x='Value') plt.show()
به جای ارائه Series
مواردی مانند ما برای Matplotlib - کافی است آن را ارائه کنید نام ستون ها، و از آنجایی که شما با آن تماس می گیرید plot()
عملکرد بر روی DataFrame
شما در حال تجسم هستید، برای پانداها آسان است که این مقادیر رشته را به نام ستون های مناسب نگاشت کنند.
هر کدام از این تماسها یک تماس جدید ایجاد میکند Figure
نمونه و مقادیر مناسب را روی آن رسم می کند:
برای ترسیم چندین محور روی یک Figure
، می توانید یک Figure
و یک یا چند Axes
از طريق plt.subplots()
و مناسب را اختصاص دهید Axes
به ax
استدلال هر کدام plot.plot_type()
زنگ زدن:
import pandas as pd
from matplotlib import pyplot as plt df = pd.read_csv('gdp_csv.csv')
df_eu = df.loc[df['Country Name'] == 'European Union'] fig, ax = plt.subplots(3, 1) df_eu.plot.box(x='Value', ax = ax[0])
df_eu.plot.line(x = 'Year', y = 'Value', ax = ax[1])
df_eu.plot.bar(x = 'Year', y = 'Value', rot = 45, ax = ax[2]) plt.show()
برخی از آرگومان های استاندارد، مانند rotation
استدلال در واقع در متفاوت است plot()
تماس می گیرد. مثلا، rotation
کوتاه شده است به rot
. این کار را کمی دشوار می کند فقط سوئیچ کنید بین Matplotlib و Pandas، زیرا به احتمال زیاد در صفحات اسناد قرار می گیرید، فقط بررسی کنید که کدام آرگومان ها را می توان اعمال کرد و کدام را نمی توان.
در حال حاضر، به جای ایجاد یک جدید Figure
or Axes
به عنوان مثال، هر یک از این قطعات در محل مناسب مستقر خواهند شد Axes
نمونه هایی که ما به آنها عرضه کرده ایم:
به طور کلی، ترسیم نقشه با پانداها راحت و سریع است – اما با این وجود، برای ترسیم نمودارهای نوار، خطوط خطی و باکس پلات، احتمالاً می خواهید با Matplotlib بروید. هم موتور زیربنایی است که پانداها به ناچار از آن استفاده می کنند و هم گزینه های سفارشی سازی بیشتری دارد و شما مجبور نخواهید بود مجموعه جدیدی از آرگومان ها را که می توانید با طرح های پاندا استفاده کنید به خاطر بسپارید.
همانطور که گفته شد، برای برخی از طرح ها، ممکن است بخواهید ترجیح دهید پانداها، از آنجایی که آنها باید به صورت دستی در Matplotlib ساخته شوند، و برخی از آنها برای ایجاد آن چنان دردسر ساز هستند که ارزش تلاش را ندارند، مانند خطوط KDE.
پانداها نقشه برداری ماژول ها
چی DataFrame
از نظر تجسم، برای ما چیز جدیدی نیست. با این حال، ماژول زیربنایی که آنها نام می برند، pandas.plotting
میکند. plotting
ماژول چندین عملکرد دارد که می توانیم از آنها استفاده کنیم، مانند autocorrelation_plot()
, bootstrap_plot()
و scatter_matrix()
.
هر کدام از اینها یکی را می پذیرند Series
یا یک DataFrame
بسته به نوع تصویرسازی که تولید می کنند، و همچنین پارامترهای خاصی برای ترسیم مشخصات و اهداف طراحی.
طرح بوت استرپ
راه اندازي فرآیند نمونهگیری تصادفی (با جایگزینی) یک مجموعه داده، و محاسبه معیارهای دقت مانند تعصب, واریانس و فاصله اطمینان برای نمونه های تصادفی "با جایگزینی" در اصطلاح عملی به این معنی است که هر عنصر به طور تصادفی انتخاب شده می تواند دوباره انتخاب شود. بدون تعویض به این معنی که پس از هر عنصر انتخاب شده به طور تصادفی، برای نمونه بعدی از مجموعه حذف می شود.
A طرح بوت استرپ، ایجاد شده توسط Pandas، آمار میانگین، میانه و میان برد یک مجموعه داده را بر اساس نمونه، بوت استرپ می کند. size
، پس از آن طرح متعاقباً از طریق نشان داده می شود plt.show()
. آرگومان های پیش فرض برای size
و samples
هستند 50
و 500
بود.
این بدان معناست که برای یک ویژگی، نمونه برداری می کنیم 50
ارزش های. سپس یک نمونه فرعی 50 عنصری (داده های ترکیبی) برای آن 50 مقدار تولید می شود و یک آمار خلاصه (میانگین/میانگین/میان رنج) برای آن ها محاسبه می شود. این روند تکرار می شود 500
بارها، بنابراین در پایان، ما 500 آمار خلاصه داریم:
import pandas as pd
from matplotlib import pyplot as plt df = pd.read_csv('./datasets/gdp_csv.csv')
df_eu = df.loc[df['Country Name'] == 'European Union'] pd.plotting.bootstrap_plot(df_eu['Value']) plt.show()
نمودار خودهمبستگی
نمودارهای خودهمبستگی برای بررسی تصادفی بودن داده ها، برای داده های سری زمانی استفاده می شود. چندگانه خود همبستگی برای مُهرهای زمانی متفاوت محاسبه میشوند، و اگر دادهها واقعاً تصادفی باشند، همبستگی نزدیک به صفر خواهد بود. اگر نه - همبستگی بزرگتر از صفر خواهد بود.
بیایید دو نمودار خودهمبستگی را ترسیم کنیم - یکی با ما ارزش ویژگی، و یکی با a Series
پر شده با مقادیر تصادفی:
import pandas as pd
import numpy as np
from matplotlib import pyplot as plt df = pd.read_csv('gdp_csv.csv')
# Filter DataFrame for the EU
df_eu = df.loc[df['Country Name'] == 'European Union']
# Generate 50 random integers between 0 and 100, and turn into a Series
random_series = pd.Series(np.random.randint(0, 100, size=50)) # Plot Autocorrelation Plot for the *Value* feature
pd.plotting.autocorrelation_plot(df_eu['Value'])
# Plot Autocorrelation Plot for the *random_series*
pd.plotting.autocorrelation_plot(random_series) plt.show()
طرح همبستگی خودکار برای random_series
باید حول محور بچرخد 0
، از آنجایی که داده های تصادفی است، در حالی که نمودار برای Value
ویژگی نخواهد داشت:
شایان ذکر است که خودهمبستگی یک را اندازه می گیرد فرم تصادفی بودن، به عنوان داده های غیر همبسته، اما غیرتصادفی وجود دارد. اگر غیر تصادفی است، اما هیچ همبستگی قابل توجهی ندارد - نمودار همبستگی خودکار نشان می دهد که داده ها تصادفی هستند.
ماتریس های پراکندگی
ماتریس های پراکندگی طرح الف شبکه از طرح های پراکندگی برای همه ویژگی ها در برابر همه ویژگی ها. از آنجایی که این ناگزیر هر ویژگی را با خودش مقایسه می کند - قطری جایی که این اتفاق می افتد معمولا با a جایگزین می شود هیستوگرام از آن ویژگی، به جای یک طرح پراکنده. ماتریس های پراکندگی همچنین به عنوان شناخته شده اند قطعه های جفت، و Seaborn ارائه می دهد pairplot()
فقط برای این کار کنید
La scatter_matrix()
تابع a را می پذیرد DataFrame
و یک ماتریس پراکندگی برای تمام ویژگی های عددی آن تولید می کند و یک آرایه دو بعدی از Axes
نمونه هایی که ماتریس پراکندگی را تشکیل می دهند. برای اصلاح هر چیزی در مورد آنها، باید از طریق آنها تکرار کنید:
import pandas as pd
import numpy as np
from matplotlib import pyplot as plt df = pd.read_csv('worldHappiness2019.csv') axes = pd.plotting.scatter_matrix(df, diagonal='hist') for ax in axes.flatten(): # Rotate back to 0 degrees since they're automatically rotated by 90 ax.yaxis.label.set_rotation(0) # As to not overlap with the Axes instances, set the ticklabel # alignment to 'right' ax.yaxis.label.set_ha('right') plt.show()
این منجر به یک ماتریس پراکندگی نسبتاً بزرگ از همه ویژگی ها در برابر همه ویژگی های دیگر می شود:
شما همچنین می توانید در diagonal
استدلال، که می پذیرد 'hist'
or 'kde'
برای تعیین نوع نمودار توزیعی که می خواهید روی مورب رسم کنید، و همچنین alpha
، شفافیت نشانگرها را در Scatter Plots مشخص می کند.
- 100
- درباره ما
- معرفی
- قبلا
- دیگر
- استدلال
- دور و بر
- بودن
- بیت
- جعبه
- صدا
- قابلیت های
- فصل
- بررسی
- رمز
- ستون
- مشترک
- کشور
- زن و شوهر
- ایجاد
- داده ها
- مختلف
- توزیع
- اروپایی
- اتحادیه اروپا
- مثال
- ویژگی
- امکانات
- تمرکز
- تابع
- قابلیت
- سوالات عمومی
- تولید می کنند
- HTTPS
- IT
- شناخته شده
- بزرگ
- بزرگتر
- کتابخانه
- لاین
- نقشه
- ماتریس
- اکثر
- از جمله
- نام
- نزدیک
- ارائه
- پیشنهادات
- گزینه
- دیگر
- فاز
- استخر
- روند
- تولید کردن
- ارائه
- اهداف
- بالا بردن
- RE
- جایگزین
- نتایج
- بازده
- سعید
- انتخاب شد
- تنظیم
- کوتاه
- قابل توجه
- مشابه
- So
- کد منبع
- مشخصات
- آغاز شده
- ارقام
- منبع
- از طریق
- اتحادیه
- us
- ارزش
- تجسم
- چی
- ویکیپدیا
- با ارزش
- X
- سال
- صفر