用python的seaborn画数值箱型图

 更新时间:2022年01月16日 09:19:27   作者:林老头ss  
大家好,本篇文章主要讲的是用python的seaborn画数值箱型图,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下

 一、概念介绍

箱型图(box-plot),又称为箱线图,盒型图,盒须图。在数据探索阶段或者描述性分析过程中,我们常常用于展示多类连续型数据的数值分布情况,便于类间对比和快速识别异常值。

在一幅箱型图中,一个连续数值序列构成一个盒子,如下所示。

每一个盒子主要展示的是数据的上四分位数Q1(25%),中位数(50%),下四分位数Q3(75%)。划分异常值的界限我们称为上下极限,其离Q1,Q3分别是1.5IQR(IQR=Q3-Q1,称作四分位距)的距离,在上下极限之外的点,我们称为异常点。异常值在不同场景中受到不同的重视,如果是要研究目标群体的薪资水平,我们常常关注中位数和IQR,而不关注异常值。

二、数据展示

        借助爬虫技术,我们在某个时间的boss直聘首页随机获取了八个城市的三类检索词(数据分析师、数据挖掘工程师、算法工程师)的职位发布信息。一共得到的excel表如下所示。

每一个表内的数据如下:

(其中平均月薪的计算是简单地通过区间中位数*薪期/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包完成。

 
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箱型图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python 浪漫烟花实现代码全解

    Python 浪漫烟花实现代码全解

    这篇文章主要为大家详细介绍了如何利用Python制作旖旎风景浪漫的烟花,文中的示例代码讲解详细,对我们学习Python有一定帮助,需要的可以参考一下
    2022-02-02
  • Python中tkinter的用户登录管理的实现

    Python中tkinter的用户登录管理的实现

    这篇文章主要介绍了Python中tkinter的用户登录管理的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • Python数据可视化之用Matplotlib绘制常用图形

    Python数据可视化之用Matplotlib绘制常用图形

    Matplotlib能够绘制折线图、散点图、柱状图、直方图、饼图. 我们需要知道不同的统计图的意义,以此来决定选择哪种统计图来呈现我们的数据,今天就带大家详细了解如何绘制这些常用图形,需要的朋友可以参考下
    2021-06-06
  • Python深度学习pytorch神经网络汇聚层理解

    Python深度学习pytorch神经网络汇聚层理解

    通常当我们处理图像时,我们希望逐渐降低隐藏表示的空间分辨率,聚集信息,这样随着我们在神经网络层叠的上升,每个神经元对其敏感的感受野(输入)就越大
    2021-10-10
  • Python实现RGB与HSI颜色空间的互换方式

    Python实现RGB与HSI颜色空间的互换方式

    今天小编就为大家分享一篇Python实现RGB与HSI颜色空间的互换方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • Python量化交易详细简介

    Python量化交易详细简介

    这篇文章主要介绍了Python量化交易详细,  算法交易是使用自动化系统来执行交易,这些交易是通过特定的算法以预测的方式执行的没有任何人为干预。依据数学模型对大数据进行概率分析,使得长期收益期望最大化,下文详细叙述,需要的朋友可以参考一下
    2022-03-03
  • python json.dumps() json.dump()的区别详解

    python json.dumps() json.dump()的区别详解

    这篇文章主要介绍了python json.dumps() json.dump()的区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • python向xls写入数据(包括合并,边框,对齐,列宽)

    python向xls写入数据(包括合并,边框,对齐,列宽)

    这篇文章主要介绍了python向xls写入数据(包括合并,边框,对齐,列宽),帮助大家更好的利用python处理表格,感兴趣的朋友可以了解下
    2021-02-02
  • 详解python 一维、二维列表的初始化问题

    详解python 一维、二维列表的初始化问题

    这篇文章主要介绍了python 一维、二维列表的初始化,本文通过两种方式给大家详细讲解,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2022-06-06
  • transform python环境快速配置方法

    transform python环境快速配置方法

    经常在数据开发中需要搞udf,最近发现transform更加方便易用,但是经常会涉及到集群python版本不一、包不全或者部分机器上没有安装python。这篇文章主要介绍了transform python环境快速配置方法,需要的朋友可以参考下
    2018-09-09

最新评论