欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python?seaborn?barplot畫(huà)圖案例

 更新時(shí)間:2022年07月22日 10:23:25   作者:qq_45759229  
這篇文章主要介紹了Python?seaborn?barplot畫(huà)圖案例,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下

默認(rèn)barplot

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

sns.set_theme(style="whitegrid")
df = sns.load_dataset("tips")
#默認(rèn)畫(huà)條形圖
sns.barplot(x="day",y="total_bill",data=df)
plt.show()

#計(jì)算平均值看是否和條形圖的高度一致
print(df.groupby("day").agg({"total_bill":[np.mean]}))
print(df.groupby("day").agg({"total_bill":[np.std]}))
# 注意這個(gè)地方error bar顯示并不是標(biāo)準(zhǔn)差

     total_bill
           mean
day
Thur  17.682742
Fri   17.151579
Sat   20.441379
Sun   21.410000
     total_bill
            std
day
Thur   7.886170
Fri    8.302660
Sat    9.480419
Sun    8.832122

使用案例

# import libraries
import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt
# load dataset
tips = sns.load_dataset("tips")
# Set the figure size
plt.figure(figsize=(14, 8))
# plot a bar chart
ax = sns.barplot(x="day", y="total_bill", data=tips, estimator=np.mean, ci=85, capsize=.2, color='lightblue')

修改capsize

ax=sns.barplot(x="day",y="total_bill",data=df,capsize=1.0)
plt.show()

顯示error bar的值

import seaborn as sns
import matplotlib.pyplot as plt 
sns.set_theme(style="whitegrid")
df = sns.load_dataset("tips")
#默認(rèn)畫(huà)條形圖
ax=sns.barplot(x="day",y="total_bill",data=df)
plt.show()
for p in ax.lines:
    width = p.get_linewidth()
    xy = p.get_xydata() # 顯示error bar的值
    print(xy)
    print(width)
    print(p)

[[ 0.         15.85041935]
 [ 0.         19.64465726]]
2.7
Line2D(_line0)
[[ 1.         13.93096053]
 [ 1.         21.38463158]]
2.7
Line2D(_line1)
[[ 2.         18.57236207]
 [ 2.         22.40351437]]
2.7
Line2D(_line2)
[[ 3.         19.66244737]
 [ 3.         23.50109868]]
2.7
Line2D(_line3)

annotata error bar

fig, ax = plt.subplots(figsize=(8, 6))
sns.barplot(x='day', y='total_bill', data=df, capsize=0.2, ax=ax)

# show the mean
for p in ax.patches:
    h, w, x = p.get_height(), p.get_width(), p.get_x()
    xy = (x + w / 2., h / 2)
    text = f'Mean:\n{h:0.2f}'
    ax.annotate(text=text, xy=xy, ha='center', va='center')

ax.set(xlabel='day', ylabel='total_bill')
plt.show()

error bar選取sd

import seaborn as sns
import matplotlib.pyplot as plt 
sns.set_theme(style="whitegrid")
df = sns.load_dataset("tips")
#默認(rèn)畫(huà)條形圖
sns.barplot(x="day",y="total_bill",data=df,ci="sd",capsize=1.0)## 注意這個(gè)ci參數(shù)
plt.show()

print(df.groupby("day").agg({"total_bill":[np.mean]}))
print(df.groupby("day").agg({"total_bill":[np.std]}))

     total_bill
           mean
day
Thur  17.682742
Fri   17.151579
Sat   20.441379
Sun   21.410000
     total_bill
            std
day
Thur   7.886170
Fri    8.302660
Sat    9.480419
Sun    8.832122

設(shè)置置信區(qū)間(68)

import seaborn as sns
import matplotlib.pyplot as plt 
sns.set_theme(style="whitegrid")
df = sns.load_dataset("tips")
#默認(rèn)畫(huà)條形圖
sns.barplot(x="day",y="total_bill",data=df,ci=68,capsize=1.0)## 注意這個(gè)ci參數(shù)
plt.show()

設(shè)置置信區(qū)間(95)

import seaborn as sns
import matplotlib.pyplot as plt 
sns.set_theme(style="whitegrid")
df = sns.load_dataset("tips")
#默認(rèn)畫(huà)條形圖
sns.barplot(x="day",y="total_bill",data=df,ci=95)
plt.show()

#計(jì)算平均值看是否和條形圖的高度一致
print(df.groupby("day").agg({"total_bill":[np.mean]}))

     total_bill
           mean
day
Thur  17.682742
Fri   17.151579
Sat   20.441379
Sun   21.410000

dataframe aggregate函數(shù)使用

#計(jì)算平均值看是否和條形圖的高度一致
df = sns.load_dataset("tips")
print("="*20)
print(df.groupby("day").agg({"total_bill":[np.mean]})) # 分組求均值
print("="*20)
print(df.groupby("day").agg({"total_bill":[np.std]})) # 分組求標(biāo)準(zhǔn)差
print("="*20)
print(df.groupby("day").agg({"total_bill":"nunique"})) # 這里統(tǒng)計(jì)的是不同的數(shù)目
print("="*20)
print(df.groupby("day").agg({"total_bill":"count"})) # 這里統(tǒng)計(jì)的是每個(gè)分組樣本的數(shù)量
print("="*20)
print(df["day"].value_counts())
print("="*20)
====================
     total_bill
           mean
day
Thur  17.682742
Fri   17.151579
Sat   20.441379
Sun   21.410000
====================
     total_bill
            std
day
Thur   7.886170
Fri    8.302660
Sat    9.480419
Sun    8.832122
====================
      total_bill
day
Thur          61
Fri           18
Sat           85
Sun           76
====================
      total_bill
day
Thur          62
Fri           19
Sat           87
Sun           76
====================
Sat     87
Sun     76
Thur    62
Fri     19
Name: day, dtype: int64
====================

dataframe aggregate 自定義函數(shù)

import numpy as np
import pandas as pd

df = pd.DataFrame({'Buy/Sell': [1, 0, 1, 1, 0, 1, 0, 0],
                   'Trader': ['A', 'A', 'B', 'B', 'B', 'C', 'C', 'C']})
print(df)
def categorize(x):
    m = x.mean()
    return 1 if m > 0.5 else 0 if m < 0.5 else np.nan
result = df.groupby(['Trader'])['Buy/Sell'].agg([categorize, 'sum', 'count'])
result = result.rename(columns={'categorize' : 'Buy/Sell'})
result
   Buy/Sell Trader
0         1      A
1         0      A
2         1      B
3         1      B
4         0      B
5         1      C
6         0      C
7         0      C

dataframe aggregate 自定義函數(shù)2

df = sns.load_dataset("tips")
#默認(rèn)畫(huà)條形圖

def custom1(x):
    m = x.mean()
    s = x.std()
    n = x.count()# 統(tǒng)計(jì)個(gè)數(shù)
    #print(n)
    return m+1.96*s/np.sqrt(n)
def custom2(x):
    m = x.mean()
    s = x.std()
    n = x.count()# 統(tǒng)計(jì)個(gè)數(shù)
    #print(n)
    return m+s/np.sqrt(n)
sns.barplot(x="day",y="total_bill",data=df,ci=95)
plt.show()
print(df.groupby("day").agg({"total_bill":[np.std,custom1]})) # 分組求標(biāo)準(zhǔn)差

sns.barplot(x="day",y="total_bill",data=df,ci=68)
plt.show()
print(df.groupby("day").agg({"total_bill":[np.std,custom2]})) #

?[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-pkCx72ui-1658379974318)(output_24_0.png)]

     total_bill
            std    custom1
day
Thur   7.886170  19.645769
Fri    8.302660  20.884910
Sat    9.480419  22.433538
Sun    8.832122  23.395703

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-GFyIePmW-1658379974318)(output_24_2.png)]

     total_bill
            std    custom2
day
Thur   7.886170  18.684287
Fri    8.302660  19.056340
Sat    9.480419  21.457787
Sun    8.832122  22.423114

seaborn顯示網(wǎng)格

ax=sns.barplot(x="day",y="total_bill",data=df,ci=95)
ax.yaxis.grid(True) # Hide the horizontal gridlines
ax.xaxis.grid(True) # Show the vertical gridlines

seaborn設(shè)置刻度

fig, ax = plt.subplots(figsize=(10, 8))
sns.barplot(x="day",y="total_bill",data=df,ci=95,ax=ax)
ax.set_yticks([i for i in range(30)])
ax.yaxis.grid(True) # Hide the horizontal gridlines

使用其他estaimator

#estimator 指定條形圖高度使用相加的和
sns.barplot(x="day",y="total_bill",data=df,estimator=np.sum)
plt.show()
#計(jì)算想加和看是否和條形圖的高度一致
print(df.groupby("day").agg({"total_bill":[np.sum]}))
'''
     total_bill
            sum
day
Fri      325.88
Sat     1778.40
Sun     1627.16
Thur    1096.33
'''

到此這篇關(guān)于Python seaborn barplot畫(huà)圖案例的文章就介紹到這了,更多相關(guān)Python seaborn barplot 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python模擬Django框架實(shí)例

    python模擬Django框架實(shí)例

    這篇文章主要為大家詳細(xì)介紹了python模擬Django框架實(shí)例,了解一個(gè)web框架需要的基本功能,感興趣的小伙伴們可以參考一下
    2016-05-05
  • python爬取cnvd漏洞庫(kù)信息的實(shí)例

    python爬取cnvd漏洞庫(kù)信息的實(shí)例

    今天小編就為大家分享一篇python爬取cnvd漏洞庫(kù)信息的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-02-02
  • Python scipy實(shí)現(xiàn)差分進(jìn)化算法

    Python scipy實(shí)現(xiàn)差分進(jìn)化算法

    差分進(jìn)化算法是廣義的遺傳算法的一種,核心思想是變異,這篇文章主要為大家介紹的則是著名的scipy庫(kù)中對(duì)差分進(jìn)化算法的實(shí)現(xiàn),希望對(duì)大家有所幫助
    2023-08-08
  • pytorch的batch normalize使用詳解

    pytorch的batch normalize使用詳解

    今天小編就為大家分享一篇pytorch的batch normalize使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01
  • 使用Python?VTK?完成圖像切割

    使用Python?VTK?完成圖像切割

    這篇文章主要介紹了使用Python?VTK?完成圖像切割,文章內(nèi)容基于python的相關(guān)資料展開(kāi)對(duì)主題的詳細(xì)介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-04-04
  • pytorch 如何用cuda處理數(shù)據(jù)

    pytorch 如何用cuda處理數(shù)據(jù)

    考慮到各種運(yùn)算只能在cpu或者gpu運(yùn)算,不能混和運(yùn)算,本文介紹常用的幾種把數(shù)據(jù)挪到gpu或者直接在gpu創(chuàng)建數(shù)據(jù)再進(jìn)行運(yùn)算的方法
    2021-06-06
  • NCCL深度學(xué)習(xí)Bootstrap網(wǎng)絡(luò)連接建立源碼解析

    NCCL深度學(xué)習(xí)Bootstrap網(wǎng)絡(luò)連接建立源碼解析

    這篇文章主要為大家介紹了NCCL深度學(xué)習(xí)Bootstrap網(wǎng)絡(luò)連接建立源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • python處理“&#”開(kāi)頭加數(shù)字的html字符方法

    python處理“&#”開(kāi)頭加數(shù)字的html字符方法

    在本篇文章里小編給大家整理了關(guān)于python如何處理“&#”開(kāi)頭加數(shù)字的html字符的相關(guān)知識(shí)點(diǎn)總結(jié),有興趣的朋友們學(xué)習(xí)下。
    2019-06-06
  • Django接收自定義http header過(guò)程詳解

    Django接收自定義http header過(guò)程詳解

    這篇文章主要介紹了Django接收自定義http header過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • python排序算法之歸并排序

    python排序算法之歸并排序

    這篇文章主要介紹了python排序算法之歸并排序,歸并排序算法就是一個(gè)先把數(shù)列拆分為子數(shù)列,對(duì)子數(shù)列進(jìn)行排序后,再把有序的子數(shù)列合并為完整的有序數(shù)列的算法,需要的朋友可以參考下
    2023-04-04

最新評(píng)論