Pandas - Plotting

رسم نمودار

Pandas از تابع شیء plot() جهت رسم نمودار استفاده می‌کند.

می‌توانیم از زیر مدول Pyplot متعلق به کتابخانه Matplotlib جهت رسم نمودار و نمایش آن روی صفحه استفاده کنیم.

در مورد Matplotlib می‌توانید در بخش آموزش Matplotlib بیشتر بخوانید.

مثال این صفحه از فایلی به اسم 'data.csv' استفاده می‌کند.

دانلود data.csv


import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv('data.csv')

df.plot()

plt.show()

خروجی:

نمودار پراکنده

با استفاده از آرگومان kind می‌توانید تعیین کنید که نمودار پراکنده می‌خواهید.

kind ='scatter'

نمودار پراکنده نیاز به معرفی محور x و y دارد. در مثال زیر Duration را برای محور x و Calories را برای محور y تعریف کرده‌ایم.


import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv('data.csv')

df.plot(kind = 'scatter', x = 'Duration', y = 'Calories')

plt.show()

خروجی:

اگر از بخش قبلی به یاد داشته باشید مقدار همبستگی برای Duration و Calories برابر 0.922721 بود و نتیجه گرفتیم که هر چقدر مدت زمان تمرین بیشتر باشد، کالری بیشتری سوزانده می‌شود. با نگاه کردن به نمودار پراکنده رسم شده در بالا، باید گفت که واقعاً همینگونه است.

بیایید نمودار پراکنده دیگری رسم کنیم که در آن بین دو ستون همبستگی بدی وجود داشته باشد. مثلاً دو ستون Duration و Maxpulse که مقدار همبستگی آن‌ها برابر 0.009403 بود.


import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv('data.csv')

df.plot(kind = 'scatter', x = 'Duration', y = 'Maxpulse')

plt.show()

خروجی:

از روی نمودار پراکنده رسم شده به وضوح می‌توان گفت که هیچ ارتباط مشخصی بین دو ستون Duration و Maxpulse وجود ندارد.

هیستوگرام

با استفاده از آرگومان kind می‌توانید مشخص کنید که نوع نمودار هیستوگرام باشد.

kind = 'hist'

هیستوگرام تنها به یک ستون نیاز دارد.

هیستوگرام فراوانی هر بازه را نشان می‌دهد. برای مثال چند عدد از تمرینات بین 50 تا 60 دقیقه بوده‌اند.

در کد زیر از ستون Duration برای رسم هیستوگرام استفاده کرده‌ایم.


import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv('data.csv')

df["Duration"].plot(kind = 'hist')

plt.show()

خروجی: