自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

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

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

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

[[355850]]

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

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

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

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

  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") 

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

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

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

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

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

1. 線圖

線圖可視化兩個(gè)變量之間的關(guān)系。其中之一通常是時(shí)間,以便我們可以看到變量如何隨時(shí)間變化。

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

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

  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 

這是用于創(chuàng)建折線圖的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

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

> (image by author)

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

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

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

  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. 散點(diǎn)圖

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

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

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

  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

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

> (image by author)

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

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

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

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

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

3. 直方圖

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

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

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

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

> (image by author)

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

4. 箱形圖

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

箱形圖可用于檢查營(yíng)銷數(shù)據(jù)集中消費(fèi)量的分布。我們還可以根據(jù)" OwnHome"列進(jìn)行區(qū)分。

  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']) 

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

> (image by author)

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

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

5. 條形圖

條形圖主要用于分類變量。這是一個(gè)簡(jiǎn)單的圖,但是對(duì)于報(bào)表或交付結(jié)果很有用。

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

  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

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

> (image by author)

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

6. 2D直方圖

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

我們可以使用hist2d函數(shù)輕松創(chuàng)建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'

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

> (image by author)

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

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

結(jié)論

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

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

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

 

責(zé)任編輯:趙寧寧 來源: 今日頭條
相關(guān)推薦

2024-07-01 08:51:19

可視化數(shù)據(jù)分析漏斗

2017-01-12 17:28:59

數(shù)據(jù)分析數(shù)據(jù)可視化可視化

2017-08-15 18:55:57

大數(shù)據(jù)數(shù)據(jù)可視化圖表

2017-03-09 09:54:13

分析數(shù)據(jù)可視化

2018-12-03 16:50:23

數(shù)據(jù)可視化數(shù)據(jù)分析薪水

2021-07-06 14:07:59

數(shù)據(jù)存儲(chǔ)存儲(chǔ)合規(guī)性

2023-11-29 20:24:45

數(shù)據(jù)可視化圖表

2011-03-08 08:59:01

SQL Server數(shù)數(shù)據(jù)移動(dòng)

2020-05-14 10:19:23

Python可視化分析

2017-09-15 10:23:06

可視化Bug數(shù)據(jù)分析

2020-08-04 13:40:02

數(shù)據(jù)可視化熱力圖表格

2023-11-24 14:02:00

Python數(shù)據(jù)分析

2023-09-06 08:00:00

ChatGPT數(shù)據(jù)分析

2020-08-10 06:16:26

seaborn數(shù)據(jù)分析圖表

2018-03-06 11:02:43

數(shù)據(jù)可視化標(biāo)配

2017-04-18 11:01:14

數(shù)據(jù)分析數(shù)據(jù)可視化

2019-09-02 15:40:25

可視化數(shù)據(jù)分析

2019-05-06 09:27:13

數(shù)據(jù)分析大數(shù)據(jù)開發(fā)數(shù)據(jù)

2017-08-01 16:42:09

數(shù)據(jù)分析互聯(lián)網(wǎng)

2020-03-23 09:53:26

大數(shù)據(jù)IT技術(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)