91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用python的seaborn畫數值箱型圖

發布時間:2022-01-17 09:07:35 來源:億速云 閱讀:219 作者:小新 欄目:開發技術

這篇文章主要為大家展示了“怎么用python的seaborn畫數值箱型圖”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“怎么用python的seaborn畫數值箱型圖”這篇文章吧。

 一、概念介紹

箱型圖(box-plot),又稱為箱線圖,盒型圖,盒須圖。在數據探索階段或者描述性分析過程中,我們常常用于展示多類連續型數據的數值分布情況,便于類間對比和快速識別異常值。

在一幅箱型圖中,一個連續數值序列構成一個盒子,如下所示。

怎么用python的seaborn畫數值箱型圖

每一個盒子主要展示的是數據的上四分位數Q1(25%),中位數(50%),下四分位數Q3(75%)。劃分異常值的界限我們稱為上下極限,其離Q1,Q3分別是1.5IQR(IQR=Q3-Q1,稱作四分位距)的距離,在上下極限之外的點,我們稱為異常點。異常值在不同場景中受到不同的重視,如果是要研究目標群體的薪資水平,我們常常關注中位數和IQR,而不關注異常值。

二、數據展示

        借助爬蟲技術,我們在某個時間的boss直聘首頁隨機獲取了八個城市的三類檢索詞(數據分析師、數據挖掘工程師、算法工程師)的職位發布信息。一共得到的excel表如下所示。

怎么用python的seaborn畫數值箱型圖

每一個表內的數據如下:

怎么用python的seaborn畫數值箱型圖

(其中平均月薪的計算是簡單地通過區間中位數*薪期/12得到,如8k-10k*16薪,則平均月薪為12000.

 三、數據導入

 只需要導入每一個表格中的 職位名稱  和 平均月薪  列。

import pandas as pd
city8_fullname = ['北京','重慶','武漢','深圳','南京','廣州','成都','上海']
job_type = ['數據分析師','數據挖掘工程師','算法工程師']
salary_dic = {}
for i in range(len(city8_fullname)):
    df = pd.DataFrame(pd.read_excel('./Boss直聘數據-八個城市/Boss直聘-'+city8_fullname[i]+'.xls'))
    salary_dic[city8_fullname[i]] = df[['職位名稱','平均月薪']]
    salary_dic[city8_fullname[i]]['城市'] = pd.Series([city8_fullname[i]]*df.shape[0])
## 整合成畫圖需要的格式
salary = salary_dic[city8_fullname[0]]
for i in range(1,8):
    salary = pd.concat([salary,salary_dic[city8_fullname[i]]],ignore_index="true")

 得到的數據結構為:

怎么用python的seaborn畫數值箱型圖

  四、畫圖

 這里,我們使用的是python語言,借助seaborn包完成。

 import matplotlib.pyplot as plt
import seaborn as sns
 
# 中文與正負號顯示設置
plt.rcParams['font.sans-serif'] = 'Microsoft YaHei'
plt.rcParams['axes.unicode_minus'] = False
# Draw
plt.figure(figsize=(14,8), dpi= 100)
sns.boxplot(x='城市', y='平均月薪', data=salary, hue='職位名稱')
sns.stripplot(x='城市', y='平均月薪', data=salary, color='black', size=2, jitter=1)
for i in range(len(salary['城市'].unique())-1):
    plt.vlines(i+.5, 10, 45, linestyles='solid', colors='gray', alpha=0.2)
plt.title('八大城市對口專業薪資分布', fontsize=20)
plt.legend(title='職位類型')
plt.xticks(fontsize=14)
plt.xlabel('城市',fontsize=16)
plt.ylabel('平均月薪',fontsize=16)
plt.yticks(fontsize=14)
plt.savefig(r'./繪圖結果/薪資-薪資分布-箱線圖.png')

sns.stripplot------用于畫分布散點圖(如果是大樣本的話不適用,但有一種一半密度一半箱型的類別,可以避免散點覆蓋的情況 )

plt.vlines-----畫輔助線

hue-----可以理解為有多少組,在這里相當于出去城市外的第二個維度的分類。

結果圖為:

怎么用python的seaborn畫數值箱型圖

 上圖中,我們是在箱型圖的基礎上加了散點的,目的在于了解各城市薪資的數值集中分布情況。

以上是“怎么用python的seaborn畫數值箱型圖”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

炎陵县| 临潭县| 深泽县| 福泉市| 天镇县| 石林| 墨竹工卡县| 彩票| 五家渠市| 双桥区| 长岛县| 通渭县| 安阳县| 邹城市| 封开县| 伊通| 临夏县| 德兴市| 西安市| 和田市| 灵石县| 都昌县| 灵山县| 大冶市| 肥西县| 东海县| 镇远县| 凤台县| 固镇县| 沈丘县| 湘乡市| 开封县| 荥阳市| 浙江省| 四子王旗| 绥芬河市| 镇坪县| 辰溪县| 铜山县| 古浪县| 古蔺县|