国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當前位置: 首頁 > news >正文

網站格式圖片全國唯一一個沒有疫情的城市

網站格式圖片,全國唯一一個沒有疫情的城市,網站快速收錄提交,北京網頁設計師培訓多少錢Seaborn 簡介 Seaborn 是一個基于 Matplotlib 的圖形可視化 Python 庫,提供了高度交互式的接口,使用戶能夠輕松繪制各種吸引人的統(tǒng)計圖表。Seaborn 可以直接使用 Pandas 的 DataFrame 和 Series 數(shù)據進行繪圖。 1. Seaborn 繪制單變量圖 (1) 直方圖 h…

Seaborn 簡介

Seaborn 是一個基于 Matplotlib 的圖形可視化 Python 庫,提供了高度交互式的接口,使用戶能夠輕松繪制各種吸引人的統(tǒng)計圖表。Seaborn 可以直接使用 Pandas 的 DataFrame 和 Series 數(shù)據進行繪圖。

1. Seaborn 繪制單變量圖

(1) 直方圖 histplot

  • hue: 根據另一個分類變量對數(shù)據進行分組并顯示不同顏色的直方圖。

  • kde: 是否繪制核密度估計曲線。

  • 其他常用參數(shù):

    • bins: 控制直方圖的條數(shù)。
    • stat: 選擇統(tǒng)計方式(如 density 或 count)。

    示例代碼:

import seaborn as sns
import matplotlib.pyplot as plt# fig 畫布對象, ax坐標軸對象
fig, ax = plt.subplots(figsize=(10, 5))
# todo data: 要操作的 df或Series對象
# todo x, y: x軸 和 y軸 數(shù)據
# todo bins: 直方圖, 劃分區(qū)間的個數(shù)
# todo hue: 分組字段, 默認為None, 會按照該字段分組, 把相同分組數(shù)據畫到一張圖上
# todo kde: 繪制 核密度預估曲線
sns.histplot(data=tips, x='total_bill', bins=10, hue='sex', kde=True)
ax.set_title('直方圖-總消費金額分布情況')
plt.show()

(2) 密度圖 kdeplot

  • X 軸: 樣本數(shù)據。
  • Y 軸: 密度值。
  • fill: 是否填充曲線下方區(qū)域。
  • 其他常用參數(shù):
    • bw_adjust: 調整帶寬以控制平滑度。

示例代碼:

# todo 密度圖是連續(xù)的 -> 概率分布   直方圖是離散的 -> 樣本數(shù)據
# todo 應用場景: 基于少量的樣本數(shù)據, 去推理 總體數(shù)據的概率分布情況fig, ax = plt.subplots(figsize=(10, 5))
sns.kdeplot(data=tips, x='total_bill')
ax.set_title('密度圖-總消費金額分布情況')
plt.show()

(3) 計數(shù)圖 countplot

  • color: 僅支持單一顏色。
  • hue: 可用來在每個條形中分組顯示不同的類別。
  • 其他常用參數(shù):
    • order: 控制條形圖中類別的順序。

示例代碼:

# todo 計數(shù)圖 = 按照某個字段分組, 統(tǒng)計每個分組的數(shù)量, 然后繪制成 條形圖(柱狀圖)
# 按照 星期分組, 統(tǒng)計每個星期的 消費次數(shù)
# 方式一
fig, ax = plt.subplots(figsize=(10, 5))
sns.countplot(data=tips, x='day', color='b')
ax.set_title('消費次數(shù)分布情況')
plt.show()# 方式二: 手動分組 + 聚合計算
tips.day.value_counts().plot.bar(figsize=(10, 5), color=['red', 'blue', 'yellow'])
ax.set_title('消費次數(shù)分布情況')
plt.show()

2. Seaborn 雙變量數(shù)據可視化

(1) 散點圖 scatterplot

  • hue: 根據另一變量劃分顏色。(分組字段)

  • size: 根據另一變量劃分點的大小。

  • 其他常用參數(shù):

  • style: 根據另一變量改變點的形狀。

示例代碼:

# hue: 分組字段
fig, ax = plt.subplots(figsize=(10, 5))
# 2. 繪制散點圖, 分析: 總消費金額, 小費 之間的關系.
# sns.scatterplot(data=tips, x='total_bill', y='tip')
sns.scatterplot(data=tips, x='total_bill', y='tip', hue='sex')
ax.set_title('散點圖-總消費金額和消費之間的關系')
plt.show()

(2) 回歸圖 regplot

  • fit_reg: 默認繪制線性擬合回歸線,設為 False 可禁用。

  • 其他常用參數(shù):

  • ci: 置信區(qū)間的大小。

示例代碼:

fig, ax = plt.subplots(figsize=(10, 5))
# todo fit_reg: 是否繪制回歸線, 默認為 True
# todo 擬合回歸線: 基于數(shù)據點(散點), 擬合出一條直線, 底層運行: 線性回歸
sns.regplot(data=tips, x='total_bill', y='tip', fit_reg=True)
# sns.regplot(data=tips, x='total_bill', y='tip', fit_reg=False)
ax.set_title('散點圖-總消費金額和消費之間的關系')
plt.show()

(3) 聯(lián)合圖 jointplot

一些函數(shù)在繪圖的時候, 是直接繪制的, 無需指定畫板, 也沒有 figsize屬性設置(圖形寬高), 但一般有 height屬性, 設置圖形寬高: 如 jointplot, 可以把 jointplot()理解為: 散點圖 + 直方圖(每行每列都會繪制直方圖)
  • kind: 繪制的圖的類型(如 scatter, kde(密度圖), hex(蜂巢圖))。

  • height: 圖的高度。

  • 其他常用參數(shù):

  • hue: 分組顯示不同的類別。

示例代碼:

sns.jointplot(data=tips, x='total_bill', y='tip', kind='scatter', height=8)
plt.title('Jointplot of Total Bill and Tip')
plt.show()

(4) 2D 密度圖 kdeplot

  • fill: 填充密度圖。

  • cbar: 顯示顏色區(qū)間圖例。

  • 其他常用參數(shù):

  • levels: 指定繪制的等高線的數(shù)量。

示例代碼:

# 1. 獲取 畫布, 坐標軸對象
fig, ax = plt.subplots(figsize=(10, 5))
# 2. 設置2D密度圖
# todo cbar: 是否繪制顏色條    fill: 是否填充顏色
sns.kdeplot(data=tips, x='total_bill', y='tip', fill=True, cbar=True)
ax.set_title('2D Ked TotalBill & Tip')
plt.show()

(5) 箱線圖 boxplot

  • 定義: 顯示數(shù)據的分位數(shù)及異常值。

  • 組成部分: 包括上邊緣、上四分位數(shù)、中位數(shù)、下四分位數(shù)、下邊緣、異常值。

  • 其他常用參數(shù):

  • hue: 根據分類變量分組顯示箱線。

  • 箱子的中間有一條線,代表了數(shù)據的中位數(shù)

  • 箱子的上下底,分別是數(shù)據的上四分位數(shù)(Q3)和下四分位數(shù)(Q1)

  • 箱體包含了50%的數(shù)據。因此,箱子的高度在一定程度上反映了數(shù)據的波動程度

  • 上下邊緣則代表了該組數(shù)據的最大值和最小值

    • IQR = 上四分位數(shù)(Q3) - 下四分位數(shù)(Q1)

      四分位距(interquartile range, IQR),又稱四分差

    • 判斷異常值時最大值 = 上四分位數(shù)(Q3) + 1.5 IQR 大于這個值的就是異常值

    • 判斷異常值時最小值 = 下四分位數(shù)(Q1)- 1.5 IQR 小于這個值的就是異常值

  • 有時候箱子外部會有一些點,可以理解為數(shù)據中的“異常值”

示例代碼:

# 需求: 通過 箱線圖(盒須圖, 箱子圖), 分析: 總消費金額, 時間 之間的關系.
# todo IQR = Q3 - Q1 : InterquantileRange四分位距表示法
fig, ax = plt.subplots(figsize=(10, 5))
sns.boxplot(data=tips, x='time', y='total_bill')
ax.set_title('箱線圖-分析就餐時間和消費總金額之間的關系0')
plt.show()

(6) 小提琴圖 violinplot

小提琴圖, 它是經典的可視化方法,但可能會掩蓋數(shù)據的分布

小提琴圖能顯示與箱線圖相同的值, 小提琴圖把"箱線"繪成核密度估計,

有助于保留數(shù)據的更多可視化信息

  • 優(yōu)勢
    • 小提琴圖同時展示了數(shù)據的統(tǒng)計分布和概率密度,能夠更好地揭示數(shù)據的形態(tài)和特征。
    • 小提琴圖可以通過分組變量進行比較分析,方便觀察不同類別間的差異。
    • 小提琴圖能夠顯示數(shù)據的離散程度,通過觀察圖形的寬度可以了解數(shù)據的散布情況。
  • 定義: 在箱線圖基礎上添加了核密度估計,有助于顯示數(shù)據分布。

  • hue: 支持分組顯示。

  • split: 分割不同類別的小提琴圖。

  • 其他常用參數(shù):

  • inner: 指定內部顯示的內容(如 box, quartile)。

示例代碼:

fig, ax = plt.subplots(figsize=(12, 6))
# split = True 默認是False  當使用hue的時候會生效, 會在一個violin中切開 一半顯示一個類別
sns.violinplot(data=tips, x='day', y='total_bill', hue='sex', split=True)
plt.title('Violinplot of Total Bill by Day and Sex')
plt.show()

3. 多變量數(shù)據

繪制多變量數(shù)據沒有固定的套路,可以使用顏色、大小和形狀來區(qū)分數(shù)據:

  1. 通過顏色區(qū)分: 使用 hue 參數(shù)來區(qū)分不同類別。
  2. 通過大小區(qū)分: 使用 size 參數(shù)調整點的大小以表示數(shù)量。

4. Seaborn 主題和樣式

使用 sns.set_style() 來設置主題風格,Seaborn 中有五種樣式:

  1. white: 白色背景無網格。
  2. whitegrid: 白色網格。
  3. dark: 黑色背景無網格。
  4. darkgrid: 黑色網格(默認)。
  5. ticks: 帶刻度線的樣式。

5. 數(shù)據可視化選擇

  1. Seaborn 和 Pandas: 適合快速繪制和探索性分析,但不適合精細化調整。
  2. Matplotlib: 更適合需要精細化控制的繪圖需求。

6. 其他知識

1. 數(shù)據準備和清洗

在繪圖之前,確保數(shù)據的質量是非常重要的。以下是一些常用的數(shù)據準備和清洗步驟:

  • 處理缺失值
import pandas as pd# 讀取數(shù)據
df = pd.read_csv('data.csv')# 檢查缺失值
print(df.isnull().sum())# 刪除缺失值
df.dropna(inplace=True)# 或用填充方式處理缺失值
df.fillna(df.mean(), inplace=True)
  • 處理異常值
# 使用 Z-score 方法識別異常值
from scipy import statsdf = df[(np.abs(stats.zscore(df['column_name'])) < 3)]

Z-score(標準分數(shù))是衡量一個數(shù)據點與數(shù)據集均值的偏離程度的一種統(tǒng)計量。它表示該數(shù)據點與均值的距離,以標準差為單位。具體定義如下:

Z = ( X ? μ ) / σ Z=(X?μ)/σ Z=(X?μ)/σ

  • Z : Z ? s c o r e Z:Z-score ZZ?score
  • X :數(shù)據點的值 X:數(shù)據點的值 X:數(shù)據點的值
  • μ :數(shù)據集的均值 μ:數(shù)據集的均值 μ:數(shù)據集的均值
  • σ :數(shù)據集的標準差 σ:數(shù)據集的標準差 σ:數(shù)據集的標準差

解釋:

  • 如果 Z-score 為 0,表示數(shù)據點等于均值。
  • 如果 Z-score 為正,表示數(shù)據點高于均值;如果為負,表示數(shù)據點低于均值。
  • 一般情況下,Z-score 大于 3 或小于 -3 的數(shù)據點通常被認為是異常值(outliers)。

2. 圖形美化

Seaborn 提供了多種美化圖形的方式。可以使用調色板和樣式參數(shù)。

  • 調色板
import seaborn as sns# 設置調色板
sns.set_palette("pastel")  # 可選 "deep", "muted", "bright", "pastel", "dark", "colorblind"
  • 美化圖形
sns.scatterplot(x='x_column', y='y_column', data=df)
plt.title('Title', fontsize=16)
plt.xlabel('X Axis Label', fontsize=14)
plt.ylabel('Y Axis Label', fontsize=14)

3. 保存圖形

使用 plt.savefig() 可以將繪制的圖形保存到文件中。

import matplotlib.pyplot as plt# 繪圖
sns.histplot(df['column_name'])
plt.title('Histogram')# 保存圖形
plt.savefig('histogram.png', dpi=300, bbox_inches='tight')

4. 調試和錯誤處理

在使用 Seaborn 時,可能會遇到一些常見的錯誤。以下是一些解決方案:

  • KeyError: 當嘗試使用不存在的列名時,會拋出 KeyError。確保你使用的列名在 DataFrame 中確實存在。
  • ValueError: 如果數(shù)據類型不正確(例如,嘗試在數(shù)值列上使用分類圖),可能會拋出 ValueError。檢查數(shù)據類型并進行轉換:
df['column_name'] = df['column_name'].astype(float)
  • AttributeError: 使用不支持的方法或屬性時,可能會拋出此錯誤。確保你在正確的對象上調用方法。

7. 繪制 線性回歸模型

seaborn 中,lmplot 是用于繪制線性回歸模型的繪圖函數(shù)。它結合了回歸線和散點圖,幫助用戶直觀地分析兩個變量之間的關系,并通過回歸線展示趨勢。以下是 lmplot 的一些常用參數(shù)和基本用法:

語法:

seaborn.lmplot(x, y, data, **kwargs)

參數(shù):

  • x: 字符串,指定數(shù)據集中作為 x 軸的變量名稱。
  • y: 字符串,指定數(shù)據集中作為 y 軸的變量名稱。
  • data: 數(shù)據集(通常是 Pandas 的 DataFrame),指定要繪制的原始數(shù)據。
  • hue: (可選)字符串,指定分類變量,用于在不同類別間繪制不同的回歸線和散點。
  • col: (可選)字符串,指定列變量,根據該變量將數(shù)據分為多個小圖。
  • row: (可選)字符串,指定行變量,與 col 類似,但是按行排列。
  • fit_reg: 布爾值,控制是否繪制回歸線(默認為 True)。
  • markers: 用于指定散點的標記類型。
  • palette: 調色板,用于控制不同類別的顏色。

示例用法:

  1. 簡單線性回歸圖

    import seaborn as sns
    import matplotlib.pyplot as plt# 加載示例數(shù)據集
    tips = sns.load_dataset('tips')# 繪制總賬單與小費之間的線性回歸圖
    sns.lmplot(x="total_bill", y="tip", data=tips)
    plt.show()
    
  2. 使用分類變量的線性回歸

    sns.lmplot(x="total_bill", y="tip", hue="smoker", data=tips)
    plt.show()
    

    上面的例子中,hue="smoker" 會基于是否吸煙繪制不同的回歸線。

  3. 多圖繪制(基于行和列分類)

    sns.lmplot(x="total_bill", y="tip", col="sex", row="smoker", data=tips)
    plt.show()
    

    這樣可以根據 sexsmoker 分類,生成多個子圖。

http://aloenet.com.cn/news/29358.html

相關文章:

  • 杭州 網站建設seo引擎優(yōu)化方案
  • 淘寶客網站怎么做推廣windows優(yōu)化大師要會員
  • 無錫大型網站建設公司公司網頁制作需要多少錢
  • 經營閱讀網站需要怎么做排名優(yōu)化方法
  • 建設政府網站的目的意義百度推廣每年600元什么費用
  • 做調查賺錢的網站有哪些南寧優(yōu)化網站收費
  • 種植園網站模板無錫百度正規(guī)推廣
  • 桂林做網站的公司全國疫情最新數(shù)據
  • 計算機做網站開發(fā)需要什么證書seo這個職位是干什么的
  • 靈感集網站網絡營銷概念
  • 北京城鄉(xiāng)和住房建設部網站seo專員是干什么的
  • 網站建設開發(fā)能力很強的企業(yè)外貿公司一般怎么找客戶
  • ae素材網關鍵詞是網站seo的核心工作
  • 千助網站公司免費招收手游代理
  • 重慶付費網站推廣友情鏈接交換工具
  • 來賓市住房和城鄉(xiāng)建設局網站網站運營師
  • dnf做漢堡怎么玩間網站怎么做好網絡推廣銷售
  • 做網站運營還是翻譯如何自己弄個免費網站
  • 網頁版工具沈陽seo排名優(yōu)化教程
  • 響應式設計網站網絡營銷的五大特點
  • 有哪些免費做電子名片的網站seo經驗
  • 分紅網站建設網上營銷新觀察網
  • 網站二次開發(fā)模板搜索引擎廣告推廣
  • php如何做局域網的網站外貿網站谷歌seo
  • wordpress賬號注冊機臨沂seo顧問
  • 做設計在哪個網站找圖片選擇寧波seo優(yōu)化公司
  • python做網站實例最新中央人事任免
  • 深圳的網站建設公司湖南企業(yè)競價優(yōu)化服務
  • 網紅營銷是什么意思推薦seo關鍵詞優(yōu)化
  • sm.wordpress蘇州seo推廣