Liz's Blog

Python學習筆記#7:Pandas內建資料視覺化篇

| Comments

相較於昨天學的Seaborn,Pandas雖然功能沒這麼強大,但如果只是快速瀏覽數據的趨勢,還是蠻好用的,和之前在matplotlib學過的參數的設定也都差不多。

Udemy
課程名稱:Python for Data Science and Machine Learning Bootcamp
講師:Jose Portilla

1.載入pandas & numpy & matplotlib.pyplot套件,使圖表可直接出現在jupyter notebook上

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline

2.匯入資料

df1 = pd.read_csv('df1',index_col=0)
df1.head()

df2 = pd.read_csv('df2')
df2.head()

3.Style Sheets(Matplotlib提供許多圖表主題可供選擇,也可客製化風格)

#套用主題
plt.style.use('ggplot')
plt.style.use('bmh')
plt.sytle.use('dark_backgroud')
plt.style.use('fivethirstyeight')

4.Plot Types
(1)直方圖(histogram)

#製圖可使用plot(kind='hist')或plot.hist(),其他圖表也是。
df1['A'].plot.hist(bins=30)

#調整bins分組
df1['A'].plot(kind='hist',bins=30)

(2)面積圖(area)

#alpha調整透明度。
df2.plot.area(alpha=0.5)

(3)長條圖(bar)

df2.plot.bar()

#把各組數據相加,使用stacked=True
df2.plot.bar(stacked=True)

(4)折線圖(line)

#製作折線圖,適合時序相關數據顯示。figsize調整顯示區大小。lw調整線條寬度。
df1.plot.line(x=df1.index,y='B',figsize=(12,3),lw=1)

(5)散佈圖(scatter)

#cmap代表佈景主題。
df1.plot.scatter(x='A',y='B',c='C',cmap='coolwarm')

#可調整點的大小(s)來區別第三個變數
df1.plot.scatter(x='A',y='B',s=df1['C']*100)

(6)盒鬚圖(box)

df2.plot.box()

(7)Hexagonal Bin Plot

#除了散佈圖,也可用Hexagonal Bin Plot來顯示雙變數資料
#gridsize可調整hex的大小
df = pd.DataFrame(np.random.randn(1000,2),columns=['a','b'])
df.head()
df.plot.hexbin(x='a',y='b',gridsize=25,cmap='coolwarm')

(8)kde plot或density plot

df2['a'].plot.kde()
df2.plot.density()

Comments

comments powered by Disqus