成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

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

superPershing / 2533人閱讀

摘要:,繪制盒形圖,同樣指定對數(shù)據(jù)的分類。如果傳入則畫出的盒形圖是橫向的。繪制小提琴圖,表示是否將兩類數(shù)據(jù)分開繪制,如果為,則不分開繪制,默認(rèn)為。數(shù)據(jù)集數(shù)據(jù)集名。計(jì)算置信區(qū)間時(shí)使用的引導(dǎo)迭代次數(shù)整數(shù)。

seaborn是python中的一個非常強(qiáng)大的數(shù)據(jù)可視化庫,它集成了matplotlib,下圖為seaborn的官網(wǎng),如果遇到疑惑的地方可以到官網(wǎng)查看。http://seaborn.pydata.org/
從官網(wǎng)的主頁我們就可以看出,seaborn在數(shù)據(jù)可視化上真的非常強(qiáng)大。

1.首先我們還是需要先引入庫,不過這次要用到的python庫比較多。

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

2.sns.set_style():不傳入?yún)?shù)用的就是seaborn默認(rèn)的主題風(fēng)格,里面的參數(shù)共有五種

darkgrid

whitegrid

dark

white

ticks

我比較習(xí)慣用whitegrid。

3.下面說一下seaborn里面的調(diào)色板,我們可以用sns.color_palette()獲取到這些顏色,然后用sns.palplot()將這些色塊打印出來。color_palette()函數(shù)還可以傳入一些參數(shù)

sns.palplot(sns.color_palette("hls",n))#顯示出n個不同顏色的色塊
sns.palplot(sns.color_palette("Paired",2n))#顯示出2n個不同顏色的色塊,且這些顏色兩兩之間是相近的
sns.palplot(sns.color_palette("color"))#由淺入深顯示出同一顏色的色塊
sns.palplot(sns.color_palette("color_r"))##由深入淺顯示出同一顏色的色塊
sns.palplot(sns.color_palette("cubehelix",n))#顯示出n個顏色呈線性變化的色塊
sns.palplot(sns.cubehelix_palette(k,start=m,rot=n))#顯示出k個start(0,3)為m,rot(-1,1)為n的呈線性變化的色塊
sns.palplot(sns.light_palette("color"))#將一種顏色由淺到深顯示
sns.palplot(sns.dark_palette("color"))#將一種顏色由深到淺顯示
sns.palplot(sns.dark_palette("color",reverse=bool))#reverse的值為False,則將一種顏色由深到淺顯示;若為True,則將一種顏色由淺到深顯示


4.sns.kdeplot(x,y,cmap=pal):繪制核密度分布圖。
5.sns.distplot(x,kde=bool,bins=n):kde代表是否進(jìn)行核密度估計(jì),也就是是否繪制包絡(luò)線,bins指定繪制的條形數(shù)目。
6.根據(jù)均值和協(xié)方差繪圖:

首先我們要根據(jù)均值和協(xié)方差獲取數(shù)據(jù)

mean,cov = [m,n],[(a,b),(c,d)]#指定均值和協(xié)方差
data = np.random.multivariate_normal(mean,cov,e)#根據(jù)均值和協(xié)方差獲取e個隨機(jī)數(shù)據(jù)
df = pd.DataFrame(data,columns=["x","y"])#將數(shù)據(jù)指定為DataFrame格式
df


然后繪制圖像

sns.jointplot(x="x",y="y",data=df)    #繪制散點(diǎn)圖


sns.jointplot(x="x",y="y",data=df)可以繪制出x和y單變量的條形圖以及x與y多變量的散點(diǎn)圖。

7.在jointplot()函數(shù)中傳入kind=“hex”,能夠在數(shù)據(jù)量比較大時(shí)讓我們更清晰地看到數(shù)據(jù)的分布比重。

x,y = np.random.multivariate_normal(mean,cov,2000).T
with sns.axes_style("white"):
    sns.jointplot(x=x,y=y,kind="hex",color="c")

繪制出的圖像如下

8.sns.pairplot(df):繪制出各變量之間的散點(diǎn)圖與條形圖,且對角線均為條形圖。
在這里我們可以先使用df = sns.load_dataset("")將seaborn中原本帶有的數(shù)據(jù)讀入或用pandas讀取。

9.繪制回歸分析圖:這里可以用兩個函數(shù)regplot()lmplot(),用regplot()更好一些。
如果兩個變量不適合做回歸分析,我們可以傳入x_jitter()y_jitter()讓x軸或y軸的數(shù)據(jù)輕微抖動一些,得出較為準(zhǔn)確的結(jié)果。
10.sns.stripplot(x="",y="",data=df,jitter=bool):繪制一個特征變量中的多個變量與另一變量關(guān)系的散點(diǎn)圖,jitter控制數(shù)據(jù)是否抖動。
11.sns.swarmplot(x="",y="",hue="",data=df):繪制頁狀散點(diǎn)圖,hue指定對數(shù)據(jù)的分類,由于在大量數(shù)據(jù)下,上面的散點(diǎn)圖會影響到我們對數(shù)據(jù)的觀察,這種圖能夠更清晰地觀察到數(shù)據(jù)分布。
12.sns.boxplot(x="",y="",hue="",data=df,orient="h"):繪制盒形圖,hue同樣指定對數(shù)據(jù)的分類。在統(tǒng)計(jì)學(xué)中有四分位數(shù)的概念,第一個四分位記做Q1,第二個四分位數(shù)記做Q2,第三個四分位數(shù)記做Q3,Q3-Q1得到的結(jié)果Q叫做四分位距,如果一個數(shù)n,n的范圍是nQ3+1.5Q,則稱n為離群點(diǎn),也就是不符合數(shù)據(jù)規(guī)范的點(diǎn),利用盒形圖可以很清晰地觀察到離群點(diǎn)。如果傳入orient則畫出的盒形圖是橫向的。
13.sns.violinplot(x="",y="",data=df,hue="",split=bool):繪制小提琴圖,split表示是否將兩類數(shù)據(jù)分開繪制,如果為True,則不分開繪制,默認(rèn)為False。
14.還可以將頁狀散點(diǎn)圖和小提琴圖在一起繪制,只需將兩個繪圖命令
inner="None"表示去除小提琴圖內(nèi)部的形狀。
15.sns.barplot(x="",y="",hue="",data=df):按hue的數(shù)據(jù)分類繪制條形圖。
16.sns.pointplot(x="",y="",hue="",data=df):繪制點(diǎn)圖,點(diǎn)圖可以更好的描述數(shù)據(jù)的變化差異。
17.我們還可以傳入其他參數(shù):

sns.pointplot(x="class",y="survived",hue="sex",data=titanic,
             palette={"male":"#02ff96","female":"#0980e6"},#指定曲線的顏色
             markers=["s","d"],linestyles=["-","-."])#指定曲線的點(diǎn)型和線型

繪制出的圖像如下

18.sns.factorplot(x="", y="", hue="", data=df):繪制多層面板分類圖。

sns.factorplot(x="day",y="total_bill",hue="smoker",data=tips)

繪制的圖像如下

19.sns.factorplot(x="",y="",hue="",data=df,kind=""):kind中指定要畫圖的類型。

sns.factorplot(x="day",y="total_bill",hue="smoker",data=tips,kind="bar")

sns.factorplot(x="day",y="total_bill",hue="smoker",col="time",data=tips,kind="swarm")    

sns.factorplot(x="time",y="total_bill",hue="smoker",col="day",data=tips,kind="box",size=5,aspect=0.8)    #aspect指定橫縱比


20.sns.factorplot()的參數(shù):

x,y,hue 數(shù)據(jù)集變量 變量名。

date 數(shù)據(jù)集 數(shù)據(jù)集名。

row,col 更多分類變量進(jìn)行平鋪顯示 變量名。

col_wrap 每行的最高平鋪數(shù) 整數(shù)。

estimator 在每個分類中進(jìn)行矢量到標(biāo)量的映射 矢量。

ci 置信區(qū)間 浮點(diǎn)數(shù)或None。

n_boot 計(jì)算置信區(qū)間時(shí)使用的引導(dǎo)迭代次數(shù) 整數(shù)。

units 采樣單元的標(biāo)識符,用于執(zhí)行多級引導(dǎo)和重復(fù)測量設(shè)計(jì) 數(shù)據(jù)變量或向量數(shù)據(jù)。

order, hue_order 對應(yīng)排序列表 字符串列表。

row_order, col_order 對應(yīng)排序列表 字符串列表。

kind : 可選:point 默認(rèn), bar 柱形圖, count 頻次, box 箱體, violin 提琴, strip 散點(diǎn),swarm 分散點(diǎn) size 每個面的高度(英寸) 標(biāo)量 aspect 縱橫比 標(biāo)量 orient 方向 "v"/"h" color 顏色 matplotlib顏色 palette 調(diào)色板 seaborn顏色色板或字典 legend hue的信息面板 True/False legend_out 是否擴(kuò)展圖形,并將信息框繪制在中心右邊 True/False share{x,y} 共享軸線 True/False。

21.sns.FacetGrid():這是一個很重要的繪圖函數(shù)。

g = sns.FacetGrid(tips,col="time")
g.map(plt.hist,"tip")

g = sns.FacetGrid(tips,col="sex",hue="smoker",size=5,aspect=1)
g.map(plt.scatter,"total_bill","tip",alpha=0.3,s=100)#alpha指定點(diǎn)的透明度,s指定點(diǎn)的大小
g.add_legend()#添加圖例

g = sns.FacetGrid(tips,col="day",size=4,aspect=0.8)
g.map(sns.barplot,"sex","total_bill")

22.sns.PairGrid():將各變量間的關(guān)系成對繪制。

iris = sns.load_dataset("iris")
g = sns.PairGrid(iris)
g.map(plt.scatter)


23.g.map_diag()g.map_offdiag():繪制對角線和非對角線的圖形

g = sns.PairGrid(iris)
g.map_diag(plt.hist)    #指定對角線繪圖類型
g.map_offdiag(plt.scatter)    #指定非對角線繪圖類型

g = sns.PairGrid(iris, hue="species")
g.map_diag(plt.hist)
g.map_offdiag(plt.scatter)
g.add_legend()

g = sns.PairGrid(iris, vars=["sepal_length", "sepal_width"], hue="species",size=3)
g.map(plt.scatter)

g = sns.PairGrid(tips, hue="size", palette="GnBu_d")
g.map(plt.scatter, s=50, edgecolor="white")
g.add_legend()


24.sns.heatmap():繪制熱度圖,熱度圖可以很清楚看到數(shù)據(jù)的變化情況以及變化過程中的最大值和最小值。

uniform_data = np.random.rand(3, 3)
print (uniform_data)
heatmap = sns.heatmap(uniform_data)


25.向heatmap()中傳入?yún)?shù)vmin=vmax=

ax = sns.heatmap(uniform_data,vmin=0.2,vmax=0.5)  #超過最大值都是最大值的顏色,小于最小值都是最小值的顏色


26.

normal_data = np.random.randn(3, 3)
print (normal_data)
ax = sns.heatmap(normal_data, center=0)    #center指定右側(cè)圖例的中心值


27.

flights = sns.load_dataset("flights")
flights = flights.pivot("month", "year", "passengers")
ax = sns.heatmap(flights, annot=True,fmt="d",linewidth=0.5)    #annot指定是否顯示數(shù)據(jù),fmt指定數(shù)據(jù)的顯示格式,linewidth指定數(shù)據(jù)格子間的距離


28.

ax = sns.heatmap(flights, cmap="YlGnBu",cbar=True)    #cmap指定圖形顏色,cbar表示是否繪制右側(cè)圖例。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/43019.html

相關(guān)文章

  • Python數(shù)據(jù)可視化模塊:Seaborn(一)

    摘要:默認(rèn)情況下白灰網(wǎng)格的形式可以避免過于刺眼。在多面作圖的情況下,網(wǎng)絡(luò)形式顯得相當(dāng)?shù)挠欣?,提供了一種作圖結(jié)構(gòu),這對模塊中的一些復(fù)雜工具非常重要。將的參數(shù)劃分為兩個組。在這兩種情況下,第一組函數(shù)返回一系列的參數(shù),第二組則設(shè)置的默認(rèn)屬性。 原文鏈接:http://web.stanford.edu/~mwaskom/software/seaborn/tutorial/aesthetics.......

    chadLi 評論0 收藏0
  • 數(shù)據(jù)可視化Seaborn從零開始學(xué)習(xí)教程(一) 風(fēng)格選擇

    摘要:簡介同一樣,也是進(jìn)行數(shù)據(jù)可視化分析的重要第三方包。的五種繪圖風(fēng)格有五種的風(fēng)格,它們分別是。 作者:xiaoyu微信公眾號:Python數(shù)據(jù)科學(xué)知乎:python數(shù)據(jù)分析師 最近在做幾個項(xiàng)目的數(shù)據(jù)分析,每次用到seaborn進(jìn)行可視化繪圖的時(shí)候總是忘記具體操作。雖然seaborn的官方網(wǎng)站已經(jīng)詳細(xì)的介紹了使用方法,但是畢竟是英文,而且查找不是很方便。因此博主想從零開始將seaborn學(xué)...

    testbird 評論0 收藏0
  • Python學(xué)習(xí)筆記:數(shù)據(jù)可視化(一)

    摘要:當(dāng)數(shù)據(jù)發(fā)生變化時(shí),這種演變過程隨之發(fā)生。是一種統(tǒng)計(jì)報(bào)告圖,由一系列高度不等的縱向條紋或線段表示數(shù)據(jù)分布的情況。 showImg(https://segmentfault.com/img/bVbnkP1?w=751&h=558); python相關(guān) 基礎(chǔ)概念 數(shù)據(jù):離散的,客觀事實(shí)的數(shù)字表示 信息:處理后的數(shù)據(jù),為實(shí)際問題提供答案   - 為數(shù)據(jù)提供一種關(guān)系或一個關(guān)聯(lián)后,數(shù)據(jù)就成了信...

    Crazy_Coder 評論0 收藏0
  • Python數(shù)據(jù)分析seaborn

    摘要:,繪制盒形圖,同樣指定對數(shù)據(jù)的分類。如果傳入則畫出的盒形圖是橫向的。繪制小提琴圖,表示是否將兩類數(shù)據(jù)分開繪制,如果為,則不分開繪制,默認(rèn)為。數(shù)據(jù)集數(shù)據(jù)集名。計(jì)算置信區(qū)間時(shí)使用的引導(dǎo)迭代次數(shù)整數(shù)。 seaborn是python中的一個非常強(qiáng)大的數(shù)據(jù)可視化庫,它集成了matplotlib,下圖為seaborn的官網(wǎng),如果遇到疑惑的地方可以到官網(wǎng)查看。http://seaborn.pydat...

    LeexMuller 評論0 收藏0
  • Windows下安裝pip、matplotlib以及seaborn

    摘要:檢查安裝是否成功在開始程序里打開的,輸入若不報(bào)錯,便安裝成功驗(yàn)證一個簡單的例子會生成一個的直線安裝輸入 安裝Matplotlib 一個有用的python包下載網(wǎng)址 http://www.lfd.uci.edu/~gohlke/pythonlibs/ 安裝python 下載地址:https://www.python.org/download/下載對應(yīng)版本的msi程序,直接運(yùn)行安裝 安裝p...

    DevTalking 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<