تجسم داده ها با هوش داده های پلاتو بلاک چین پاندا. جستجوی عمودی Ai.

تجسم داده ها با پانداها

پانداها تاکنون در مرحله پیش پردازش داده ها به ما کمک کرده اند. اگرچه، در یک نمونه، هنگام ایجاد هیستوگرام، ما از ماژول دیگری از Pandas نیز استفاده کرده ایم - plotting.

ما به طور هدفمند از این موضوع اجتناب کرده‌ایم، زیرا معرفی زودتر آن سؤالات بیشتری را نسبت به پاسخ‌های آن ایجاد می‌کند. یعنی پانداها و Matplotlib آنقدر رایج بود که Pandas کارکرد Matplotlib را ادغام کرد. آی تی به شدت برای انجام هر گونه ترسیم واقعی به Matplotlib متکی است و بسیاری از توابع Matplotlib را در کد منبع پیدا خواهید کرد. همچنین می‌توانید از پس‌زمینه‌های دیگر برای ترسیم نقشه استفاده کنید، مانند دسیسه و بوکه چه میدانیم..

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

La plot() عملکرد یک پاندا DataFrame از backend مشخص شده توسط استفاده می کند plotting.backend، و بسته به kind آرگومان - با استفاده از کتابخانه داده شده یک نمودار تولید می کند. از آنجایی که بسیاری از این موارد با هم همپوشانی دارند - هیچ فایده ای برای پوشش انواع طرح ها وجود ندارد line, bar, hist و scatter. آنها تقریباً همان نمودارها را با همان کدی که ما تاکنون با Matplotlib انجام داده ایم تولید می کنند.

ما فقط نگاهی کوتاه به آن خواهیم داشت plot() عملکرد از آنجایی که مکانیسم زیربنایی تاکنون مورد بررسی قرار گرفته است. در عوض، بیایید روی برخی از توطئه هایی که ما داریم تمرکز کنیم نمی تواند در حال حاضر به راحتی با Matplotlib انجام دهید.

این یک فصل بسیار کوتاه خواهد بود، زیرا توانایی‌های ترسیم و تجسم پانداها در مقایسه با Matplotlib کمرنگ است - اما دانستن برخی از آنها و همچنین آگاهی از توانایی ترسیم از آنها مفید است. DataFrames به طور مستقیم

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 نمونه و مقادیر مناسب را روی آن رسم می کند:

تجسم داده ها با هوش داده های پلاتو بلاک چین پاندا. جستجوی عمودی Ai.

برای ترسیم چندین محور روی یک 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 نمونه هایی که ما به آنها عرضه کرده ایم:

تجسم داده ها با هوش داده های پلاتو بلاک چین پاندا. جستجوی عمودی Ai.

به طور کلی، ترسیم نقشه با پانداها راحت و سریع است – اما با این وجود، برای ترسیم نمودارهای نوار، خطوط خطی و باکس پلات، احتمالاً می خواهید با 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()

تجسم داده ها با هوش داده های پلاتو بلاک چین پاندا. جستجوی عمودی Ai.

نمودار خودهمبستگی

نمودارهای خودهمبستگی برای بررسی تصادفی بودن داده ها، برای داده های سری زمانی استفاده می شود. چندگانه خود همبستگی برای مُهرهای زمانی متفاوت محاسبه می‌شوند، و اگر داده‌ها واقعاً تصادفی باشند، همبستگی نزدیک به صفر خواهد بود. اگر نه - همبستگی بزرگتر از صفر خواهد بود.

بیایید دو نمودار خودهمبستگی را ترسیم کنیم - یکی با ما ارزش ویژگی، و یکی با 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 ویژگی نخواهد داشت:

تجسم داده ها با هوش داده های پلاتو بلاک چین پاندا. جستجوی عمودی Ai.

شایان ذکر است که خودهمبستگی یک را اندازه می گیرد فرم تصادفی بودن، به عنوان داده های غیر همبسته، اما غیرتصادفی وجود دارد. اگر غیر تصادفی است، اما هیچ همبستگی قابل توجهی ندارد - نمودار همبستگی خودکار نشان می دهد که داده ها تصادفی هستند.

ماتریس های پراکندگی

ماتریس های پراکندگی طرح الف شبکه از طرح های پراکندگی برای همه ویژگی ها در برابر همه ویژگی ها. از آنجایی که این ناگزیر هر ویژگی را با خودش مقایسه می کند - قطری جایی که این اتفاق می افتد معمولا با 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()

این منجر به یک ماتریس پراکندگی نسبتاً بزرگ از همه ویژگی ها در برابر همه ویژگی های دیگر می شود:

تجسم داده ها با هوش داده های پلاتو بلاک چین پاندا. جستجوی عمودی Ai.

شما همچنین می توانید در diagonal استدلال، که می پذیرد 'hist' or 'kde' برای تعیین نوع نمودار توزیعی که می خواهید روی مورب رسم کنید، و همچنین alpha، شفافیت نشانگرها را در Scatter Plots مشخص می کند.

تمبر زمان:

بیشتر از Stackabuse