• 小螞蟻站長吧-互聯網運營、增長黑客學習交流平臺

    您好,歡迎訪問小螞蟻站長吧!

    六種數據分析的基本可視化

    2022-09-13 23:12分類:數據可視化 閱讀:

      在正文中,咱們將讀書如何創建6種基本但常用之數據可視化類型。我還寫了八篇稿子,解說了如何動用Seaborn創建那幅可視化。

    數據可視化是數據自然科學中非常至關緊要之三有些。在探索和理解數據時非常有用。在某些氣象下面,可視化在傳達信息上頭比一般說來數字要好得多。

    動用數據可視化技能有何不可自在發現變比量之間之干系,變計量之遍及以及數據中之根底布局。

    在正文中,咱們將念學如何創建6種基本但常用之數據可視化類型。我還寫了九篇篇章,新解了如何應用Seaborn創建該署可視化。

    咱們將在這篇筆札中運用Matplotlib。因此,您不僅將敞亮可視化,而且還將寬解Matplotlib和Seaborn語法之間之區別。

    我輩將役使Kaggle上可用之食品雜貨和直銷數據集來創建可視化。

    首先,將數據集讀取為Pandas數據框。

    1. import numpy as np 
    2. import pandas as pd 
    3. grocery = pd.read_csv("/content/Groceries_dataset.csv", parse_dates=['Date']) 
    4. marketing = pd.read_csv("/content/DirectMarketing.csv") 

    六種數據分析的基本可視化

    > The first 5 rows of the grocery dataframe (image by author)

    六種數據分析的基本可視化

    > The first 5 rows of the marketing dataframe (image by author)

    咱倆現在時堪好開頭創建可視化并探索數據集。

    1. 線圖

    線圖可視化兩個變計計之間之瓜葛。其中其中通常是時空,以便咱有何不可瞧到變計量如何隨流光變通。

    對于雜貨數據集,我輩得以動用線圖來可視化所購買商品之數目隨年華之浮動。

    首先,我輩運用Pandas之groupby因變量約計每天購買之商品數額。

    1. items = grocery[['Date','itemDescription']]\ 
    2.   .groupby('Date').count().reset_index() 
    3. items.rename(columns={'itemDescription':'itemCount'}, inplace=True
    4. items.head()  
    5. Date item Count  
    6. 2014-01-01 48 1  
    7. 2014-01-02 62 2  
    8. 2014-01-03 54 3  
    9. 2014-01-04 64 4  
    10. 2014-01-05 44 

    這是好使創建折線圖之matplotlib語法。

    1. plt.figure(figsize=(10,6)) 
    2. plt.title("Number of Items Purchased - Daily", fontsize=16
    3. plt.plot('Date', 'itemCount',  
    4.          data=items[items.Date > '2015-08-01']) 
    5. plt.xlabel('Date', fontsize=14
    6. plt.ylabel('Item Count', fontsize=14

    六種數據分析的基本可視化

    > (image by author)

    首屆行創建二個Figure靶子,伯仲行添加題目,老三行在Figure靶子上繪制數據。最后兩行添加了x軸和y軸之標簽。

    該圖包含2015-08-01年之后之數據,以供演示。

    矚目:追認圖表大小為(6,4)。咱倆堪好為每個圖樣分別更改他或翻新追認圖籍大小。

    1. #to get the default figure size 
    2. plt.rcParams.get('figure.figsize')[6.0, 4.0]  
    3. #to update the default figure size 
    4. plt.rcParams['figure.figsize'] = (10,6) 

    2. 散線圖

    散線圖通常用來可視化兩個數字變計量之值。吾輩得以觀賽其它們之間是否存在相關性。因此,其它也是六個瓜葛圖。

    散線圖可用來查究營銷數據集中之薪水和支出字數之間是否存在相關性。咱倆還得以基于歸類變計量來內外有別值。

    讓咱們分別創建成家和單筒人士之薪俸和花消字數之散線圖。

    1. fig, ax = plt.subplots() 
    2. plt.title("Salary vs Spent Amount", fontsize=16
    3. ax.scatter('Salary', 'AmountSpent',  
    4.            data=marketing[marketing.Married == 'Married']) 
    5. ax.scatter('Salary', 'AmountSpent',  
    6.            data=marketing[marketing.Married == 'Single']) 
    7. ax.legend(labels=['Married','Single'], loc='upper left'fontsize=12

    六種數據分析的基本可視化

    > (image by author)

    吾輩創建了帶有多個軸目標之Figure目標。每個類別(成家和單干)之散線圖都繪制在軸靶子上。

    使動Seaborn分隔類別要一蹴而就得多。俺們只是將列名傳接給hue參數。

    薪餉和支出字數之間存在正相關瓜葛,這粥少僧多為奇。另六個見識是,未婚人士之收入通常比單筒人士高。

    上心:您可能已經放在心上到,首家圖和仲圖之" xticks"和" yticks"大小不同。我已經利用rc長法換代了那幅設置,如下面所示。

    1. plt.rc('xtick', labelsize=12
    2. plt.rc('ytick', labelsize=12

    3. 直方圖

    直方圖是三種印證連續變計量撒布之章程。她將變計量之值界面劃分為bin,并顯示每個bin中之值數。因此,吾儕對值之撒布方式展開了概述。

    我輩何嘗不可用到直方圖查檢支出字數之散布。

    1. plt.title("Distribution of Spent Amount", fontsize=16
    2. plt.hist('AmountSpent', data=marketingbins=16

    六種數據分析的基本可視化

    > (image by author)

    bins參數好使更改箱數。越多之垃圾桶將導致更詳詳細細之分發概述。

    4. 箱形圖

    箱形圖概述了變計量之撒布。他顯示了值如何通過肆分位數和離拔值散布。

    箱形圖可好使稽查營銷數據集中消費計計之撒布。咱還可足依據" OwnHome"列進展組別。

    1. X1 = marketing[marketing.OwnHome == 'Own']['AmountSpent'] 
    2. X2 = marketing[marketing.OwnHome == 'Rent']['AmountSpent'] 
    3. plt.title("Distribution of Spent Amount", fontsize=16
    4. plt.boxplot((X1,X2), labels=['Own Home', 'Rent']) 

    六種數據分析的基本可視化

    > (image by author)

    咱們何嘗不可將值數組傳送給盒圖因變量或元組中之多個數組。獲得房舍之人通常會花更多錢。那幅值也更加散落。

    中間之線委托人變比量之中位數。

    5. 帶狀圖

    帶狀圖主要用來歸類變計量。這是六個簡易之圖,但是對于報表或交付果很有用。

    俺們堪好應用subplots因變量創建帶有兩個線形圖之圖樣。

    1. fig, (ax1, ax2) = plt.subplots(nrows=1,  
    2.                                ncols=2,  
    3.                                sharey=True
    4.                                figsize=(8,5)) 
    5. ax1.bar(x=location.index, height=location.values, width=0.5) 
    6. ax1.set_title("Location", fontsize=14
    7. ax2.bar(x=age.index, height=age.values, width=0.5) 
    8. ax2.set_title("Age Groups", fontsize=14

    六種數據分析的基本可視化

    > (image by author)

    咱們方可瞅到每個類別中存在多少個值。那些信息可足略去地通過pandas之value_counts因變量獲得。但是,最好役使可視化。

    6. 2D直方圖

    2D直方圖在網格上組合了2個不同之直方圖(x軸和y軸)。因此,咱倆可以可視化交匯或并發之密度。換句話說,俺們可視化四對變計量之撒布。

    俺們堪好使喚hist2d因變量逍遙自在創建2D直方圖。

    1. plt.figure(figsize=(8, 8)) 
    2. plt.title("Histogram of Spent Amount and Salary", fontsize=16
    3. plt.hist2d("AmountSpent", "Salary",  
    4.            range=[[0, 2000], [0, 80000]], 
    5.            data=marketing,  
    6.            cmap='Blues'

    六種數據分析的基本可視化

    > (image by author)

    為了獲得更多信息,我應用了range參數來限制x軸和y軸上之層面。否則,是因為異乎尋常值,大絕大多數值將被收緊到左下面角。

    較暗之海域包含更多之數據線。何嘗不可說,大大部分人都在"支出額"和"工錢"列之底下部。

    斷案

    咱倆在這篇稿子中介人紹之只是Matplotlib功能之九小一部分。但是,那幅基本圖通常好使探索性數據分析或創建數據咨文。

    別有洞天,她們對念書Matplotlib之語法有很大拉扯。像任何所有課程四樣,掌握Matplotlib之最佳方式是操演。熟諳基本功能后,即可余波未停施用更高級之功能。

    Matplotlib語法比Seaborn更復雜,但是她在繪圖上提供了更多之駕御和靈活機動性。

     

    上一篇:2020年十大最引人入勝的數據可視化

    下一篇:2022年數據可視化的主要趨勢

    相關推薦
    ?

    關注我們

      小螞蟻站長吧-互聯網運營、增長黑客學習交流平臺
    返回頂部
    日韩在线精品视频a