日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

[數(shù)據(jù)可視化]Seaborn簡(jiǎn)單介紹

 天上飛雞 2020-12-11

什么是Seaborn

Seaborn是基于matplotlib的圖形可視化python包。它提供了一種高度交互式界面,便于用戶能夠做出各種有吸引力的統(tǒng)計(jì)圖表。

Seaborn是在matplotlib的基礎(chǔ)上進(jìn)行了更高級(jí)的API封裝,從而使得作圖更加容易,在大多數(shù)情況下使用seaborn能做出很具有吸引力的圖,而使用matplotlib就能制作具有更多特色的圖。應(yīng)該把Seaborn視為matplotlib的補(bǔ)充,而不是替代物。同時(shí)它能高度兼容numpy與pandas數(shù)據(jù)結(jié)構(gòu)以及scipy與statsmodels等統(tǒng)計(jì)模式。

按照國際慣例,先裝一波

pip3 install seaborn

什么報(bào)錯(cuò)了,報(bào)錯(cuò)是肯定的,seaborn包依賴于scipy包,所以要先裝scipy,解決方法如下:

升級(jí)pip解決了這個(gè)問題

python3 -m pip install --upgrade pip

# 安裝包并安裝這個(gè)包所需的依賴包(sc)
pip3 install seaborn -U

# 或者
pip3 install scipy
pip3 install seaborn

seaborn API

Seaborn 要求原始數(shù)據(jù)的輸入類型為 pandas 的 Dataframe 或 Numpy 數(shù)組,畫圖函數(shù)有以下幾種形式:

sns.圖名(x='X軸 列名', y='Y軸 列名', data=原始數(shù)據(jù)df對(duì)象)

sns.圖名(x='X軸 列名', y='Y軸 列名', hue='分組繪圖參數(shù)', data=原始數(shù)據(jù)df對(duì)象)

sns.圖名(x=np.array, y=np.array[, ...])

  • 直方圖的繪制

barplot

將點(diǎn)估計(jì)和置信區(qū)間顯示為矩形條。

條形圖表示具有每個(gè)矩形的高度的數(shù)值變量的集中趨勢(shì)的估計(jì),并且使用誤差條提供圍繞該估計(jì)的不確定性的一些指示

API介紹

seaborn.barplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None, estimator=<function mean>, ci=95, n_boot=1000, units=None, orient=None, color=None, palette=None, saturation=0.75, errcolor='.26', errwidth=None, capsize=None, dodge=True, ax=None, **kwargs)

Example for barplot

import seaborn as sns
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

x = np.arange(8)
y = np.array([1,5,3,6,2,4,5,6])

df = pd.DataFrame({"x-axis": x,"y-axis": y})

sns.barplot("x-axis","y-axis",palette="RdBu_r",data=df)
plt.xticks(rotation=90)
plt.show()

橫坐標(biāo)為0-7的整數(shù),縱坐標(biāo)表示這八個(gè)整數(shù)分別所占的權(quán)重,調(diào)整 palette 參數(shù)可以美化顯示風(fēng)格

image

seaborn.barplot實(shí)戰(zhàn)

1.數(shù)據(jù)集

通過爬蟲爬取了貓眼上面,用戶對(duì)電影《狄仁杰之四大天王》的影評(píng),如下圖所示,包括
(1.評(píng)論時(shí)間;(2.評(píng)論者的用戶ID;(3.評(píng)論者所在地區(qū);(4.評(píng)分;(5.評(píng)論內(nèi)容
根據(jù)評(píng)分,我們來看一看,電影的評(píng)分的分布情況


image
2.代碼
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

f = open('狄仁杰.txt',encoding='UTF-8')
data = pd.read_csv(f,sep=',',header=None,encoding='UTF-8',names=['date','nickname','city','rate','comment'])

#評(píng)分分析
rate = data['rate'].value_counts()
sns.set_style("darkgrid")
bar_plot = sns.barplot(x=(rate.index),y=(rate.values/sum(rate)),palette="muted")
plt.xticks(rotation=90)
plt.show()

通過pandas,讀取出數(shù)據(jù)在 data中,評(píng)分在rate下面 ,data['rate'].value_counts(),統(tǒng)計(jì)出各分?jǐn)?shù)的人數(shù),如下圖所示

image

最后橫坐標(biāo)為rate.index(0.0,0.5,1.0,1.5....5.0),縱坐標(biāo)為給出各分?jǐn)?shù)的人數(shù)/總?cè)藬?shù),這很容易理解,最后算出的就是,這個(gè)評(píng)分所占的比例。

3.分析結(jié)果
image

看到超過40%的人給出了5.0的評(píng)分,超過85%的人給出了3.5以上的評(píng)分,至少說明這部電影在口碑方面上取得的成績(jī)是比較好的.

小結(jié)

結(jié)合爬蟲爬取下來的電影數(shù)據(jù),根據(jù)評(píng)分來通過seaborn繪制出評(píng)分的發(fā)布直方圖,只介紹了seaborn的一種方法,不要著急,stpe by stpe.事實(shí)上一頭扎進(jìn)文檔里,我相信看過5種繪圖方式,你就記不住了,方法學(xué)會(huì)了,之后,根據(jù)需求,查閱文檔,現(xiàn)學(xué)現(xiàn)用就行了

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多