中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
六種數(shù)據(jù)分析的基本可視化

Matplotlib實用指南

數(shù)據(jù)可視化是數(shù)據(jù)科學中非常重要的一部分。在探索和理解數(shù)據(jù)時非常有用。在某些情況下,可視化在傳達信息方面比普通數(shù)字要好得多。

使用數(shù)據(jù)可視化技術可以輕松發(fā)現(xiàn)變量之間的關系,變量的分布以及數(shù)據(jù)中的基礎結構。

在本文中,我們將學習如何創(chuàng)建6種基本但常用的數(shù)據(jù)可視化類型。我還寫了一篇文章,解釋了如何使用Seaborn創(chuàng)建這些可視化。

我們將在這篇文章中使用Matplotlib。因此,您不僅將了解可視化,而且還將了解Matplotlib和Seaborn語法之間的區(qū)別。

我們將使用Kaggle上可用的食品雜貨和直銷數(shù)據(jù)集來創(chuàng)建可視化。

首先,將數(shù)據(jù)集讀取為Pandas數(shù)據(jù)框。

import numpy as npimport pandas as pdgrocery = pd.read_csv('/content/Groceries_dataset.csv', parse_dates=['Date'])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)

我們現(xiàn)在可以開始創(chuàng)建可視化并探索數(shù)據(jù)集。

1.線圖

線圖可視化兩個變量之間的關系。其中之一通常是時間,以便我們可以看到變量如何隨時間變化。

對于雜貨數(shù)據(jù)集,我們可以使用線圖來可視化所購買商品的數(shù)量隨時間的變化。

首先,我們使用Pandas的groupby函數(shù)計算每天購買的商品數(shù)量。

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

這是用于創(chuàng)建折線圖的matplotlib語法。

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

> (image by author)

第一行創(chuàng)建一個Figure對象,第二行添加標題,第三行在Figure對象上繪制數(shù)據(jù)。最后兩行添加了x軸和y軸的標簽。

該圖包含2015-08-01年之后的數(shù)據(jù),以供演示。

注意:默認圖形大小為(6,4)。我們可以為每個圖形分別更改它或更新默認圖形大小。

#to get the default figure sizeplt.rcParams.get('figure.figsize')[6.0, 4.0] #to update the default figure sizeplt.rcParams['figure.figsize'] = (10,6)

2.散點圖

散點圖通常用于可視化兩個數(shù)字變量的值。我們可以觀察它們之間是否存在相關性。因此,它也是一個關系圖。

散點圖可用于檢查營銷數(shù)據(jù)集中的薪水和支出金額之間是否存在相關性。我們還可以基于分類變量來區(qū)分值。

讓我們分別創(chuàng)建已婚和單身人士的工資和花費金額的散點圖。

fig, ax = plt.subplots()plt.title('Salary vs Spent Amount', fontsize=16)ax.scatter('Salary', 'AmountSpent', data=marketing[marketing.Married == 'Married'])ax.scatter('Salary', 'AmountSpent', data=marketing[marketing.Married == 'Single'])ax.legend(labels=['Married','Single'], loc='upper left', fontsize=12)

> (image by author)

我們創(chuàng)建了帶有多個軸對象的Figure對象。每個類別(已婚和單身)的散點圖都繪制在軸對象上。

使用Seaborn分隔類別要容易得多。我們只是將列名傳遞給hue參數(shù)。

工資和支出金額之間存在正相關關系,這不足為奇。另一個見解是,已婚人士的收入通常比單身人士高。

注意:您可能已經(jīng)注意到,第一圖和第二圖的' xticks'和' yticks'大小不同。我已經(jīng)使用rc方法更新了這些設置,如下所示。

plt.rc('xtick', labelsize=12)plt.rc('ytick', labelsize=12)

3.直方圖

直方圖是一種檢查連續(xù)變量分布的方法。它將變量的值范圍劃分為bin,并顯示每個bin中的值數(shù)。因此,我們對值的分布方式進行了概述。

我們可以使用直方圖檢查支出金額的分布。

plt.title('Distribution of Spent Amount', fontsize=16)plt.hist('AmountSpent', data=marketing, bins=16)

> (image by author)

bins參數(shù)用于更改箱數(shù)。越多的垃圾桶將導致更詳細的分發(fā)概述。

4.箱形圖

箱形圖概述了變量的分布。它顯示了值如何通過四分位數(shù)和離群值分布。

箱形圖可用于檢查營銷數(shù)據(jù)集中消費量的分布。我們還可以根據(jù)' OwnHome'列進行區(qū)分。

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

> (image by author)

我們可以將值數(shù)組傳遞給盒圖函數(shù)或元組中的多個數(shù)組。擁有房屋的人通常會花更多錢。這些值也更加分散。

中間的線代表變量的中位數(shù)。

5.條形圖

條形圖主要用于分類變量。這是一個簡單的圖,但是對于報表或交付結果很有用。

我們可以使用subplots函數(shù)創(chuàng)建帶有兩個條形圖的圖形。

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

> (image by author)

我們可以看到每個類別中存在多少個值。這些信息可以簡單地通過pandas的value_counts函數(shù)獲得。但是,最好使用可視化。

6. 2D直方圖

2D直方圖在網(wǎng)格上組合了2個不同的直方圖(x軸和y軸)。因此,我們能夠可視化重疊或并發(fā)的密度。換句話說,我們可視化一對變量的分布。

我們可以使用hist2d函數(shù)輕松創(chuàng)建2D直方圖。

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

> (image by author)

為了獲得更多信息,我使用了range參數(shù)來限制x軸和y軸上的范圍。否則,由于異常值,大多數(shù)值將被壓縮到左下角。

較暗的區(qū)域包含更多的數(shù)據(jù)點??梢哉f,大多數(shù)人都在'支出額'和'工資'列的下部。

結論

我們在這篇文章中介紹的只是Matplotlib功能的一小部分。但是,這些基本圖通常用于探索性數(shù)據(jù)分析或創(chuàng)建數(shù)據(jù)報告。

此外,它們對學習Matplotlib的語法有很大幫助。像其他任何學科一樣,掌握Matplotlib的最佳方法是練習。熟悉基本功能后,即可繼續(xù)使用更高級的功能。

Matplotlib語法比Seaborn更復雜,但是它在繪圖上提供了更多的控制和靈活性。

感謝您的閱讀。如果您有任何反饋意見,請告訴我。

(本文由聞數(shù)起舞翻譯自Mohammed Ayar的文章《6 Fundamental Visualizations for Data Analysis》,轉(zhuǎn)載請注明出處,原文鏈接:https://towardsdatascience.com/6-fundamental-visualizations-for-data-analysis-d38344a51141)

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Python數(shù)據(jù)可視化的10種技能
5 種使用 Python 代碼輕松實現(xiàn)數(shù)據(jù)可視化的方法
Matplotlib+Seaborn:一文掌握Python可視化庫的兩大王者
Python數(shù)據(jù)分析入門(一)
利用Python Matplotlib實現(xiàn)數(shù)據(jù)動態(tài)可視化
最簡潔的Python時間序列可視化實現(xiàn)
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服