python seaborn boxplot_Python學習筆記 - Seaborn如何畫出histogram和boxplot

 2023-11-19 阅读 31 评论 0

摘要:畫圖第一步:根據情況import模塊寶寶:import matplotlib.pyplot as pltimport seaborn as snsimport pandas as pdimport numpy as np畫圖第二步:召喚我們的表格:自己取的名子(比如da) = pd.read_csv("表格名字.csv")畫圖第三步(optio

畫圖第一步:根據情況import模塊寶寶:import matplotlib.pyplot as plt

import seaborn as sns

import pandas as pd

import numpy as np

畫圖第二步:召喚我們的表格:自己取的名子(比如da) = pd.read_csv("表格名字.csv")

畫圖第三步(optional):看看表格的基本情況:自己取的名子.describe( )

插播一則消息:

如果要對我們的表格內容進行重命名的話怎么做呢,比如有一個表格,他的“婚姻狀態”那一欄下面的數字是1,2,3,4,5,77,99,但其實它是代表著以下這些不同的類別:

1b4efa9d0563

那我們可以重新創建一行,為這些數字類別換個容易看的名字(用字典的形式),也方便我們畫圖。

代碼:da["新列名"] = da.舊列名.replace({1: "married", 2: "widowed", 3: "divorced", 4: "separated", 5: "never married", 6:"living with partner",77: "Refused", 99: "Don't know"})

另外,如果我們要對表格里的內容進行統計,我們用到的咒語是:print(da["那一列的名字"].value_counts())

#記住,這里的value_counts() 是有括號,有s的。

畫圖第四步:寫出我們的畫圖咒語

畫圖咒語其實有很多,displot(), kdeplot()等等,我們這里介紹基礎的histogram和boxplot怎么畫

# 畫一個直方圖

#在seaborn中最簡便查看單元分布的函數是distplot().該函數默認繪制直方圖并擬合內核密度估計。通過調整參數可以分別繪制直方圖,擬合內核密度圖,地毯圖等。

#當繪制直方圖時,你需要調整的參數是bin的數目(組數)。displot()會默認給出一個它認為比較好的組數,但是嘗試不同的組數可能會揭示出數據不同的特征。sns.distplot (自己取的名子["你要畫的那一列的名字"], kde = False,bin= 組數).set_title("自己想一個直方圖的名字")

plt.show()

如果要畫兩列在一起:sns.distplot(自己取的名子["你要畫的那一列的名字"], kde = False)

sns.distplot(自己取的名子["你要畫的另一列的名字"], kde = False).set_title("自己想一個直方圖的名字,比如Histogram of Both 列")

plt.show()

1b4efa9d0563

boxplot咒語:sns.boxplot(自己取的名子["你要畫的列的名字"]).set_title("自己想一個箱型圖的名字")

plt.show()

如果要畫兩列在一起:sns.boxplot(自己取的名子["你要畫的列的名字"])

sns.boxplot(自己取的名子["你要畫的另一列的名字"]).set_title("自己想一個箱型圖的名字,比如Box plot of x x x")

plt.show()

舉個栗子

1b4efa9d0563

以上都是單個變量的,那如何繪制才能同時顯示多列呢sns.boxplot(data = da.loc[:,["變量1","變量2"]])

栗子:

1b4efa9d0563

那如果要繪制一個變量影響另一個變量的表呢?sns.boxplot(x = 自己取的名字["變量1"] ,? y = ?自己取的名字["變量2"])

plt.show()

栗子:

1b4efa9d0563

如果要讓一次繪制多個圖表(以網格形式顯示),那我們就要用到神奇的facetgrid接口

基本工作流程是FacetGrid使用數據集和用于構造網格的變量初始化對象。然后,調用FacetGrid.map()

plt.hist的意思是,plot histogramsns.FacetGrid(自己取的名字, row = "要分類的列名 比如 Gender").map(plt.hist, "你要畫的列的名字")

舉個栗子:

1b4efa9d0563

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://808629.com/186053.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 86后生记录生活 Inc. 保留所有权利。

底部版权信息