本博客记录学习数据分析的思考和心得

本博客会分享数据源码,以及在学习数据分析过程中,学习到的内容和本人不熟悉的地方

本节主要研究运动员身材都是完美型吗?

对于平时有健身的朋友们应该知道,衡量一个人身材是否完美有一个公式,即是BMI值

那么如何判断自己的身材是否完美尼,来一起计算一下自己的BMI值把!向完美身材看齐!

BMI = 体重/身高的平方(体重单位是KG,身高单位是米)

本次主要绘制的目标如下图,每个项目的运动员的BMI值分布

那么绘制上图,也需要经过以下几步

  • 加载数据
  • 数据预处理与清洗 (如何处理缺失值,数据填充等数据处理常见的处理方式)
  • 绘制小提琴图形
# -*- coding: utf-8 -*-
"""
Created on Fri Apr 12 09:36:35 2019
绘制小提琴图
运动员身体都是完美的吗?BMI = weight/height(mi)**2
@author: zss0330816
"""import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as pltdf = pd.read_excel(r"D:\数据分析\数据分析师\classdata\奥运运动员数据.xlsx", sheetname=1)
#print(df)
#df_length = len(df)
#df_columns = df.columns.tolist()
data = df[['event', 'name', 'height', 'weight']]#选择数据项#去除数据个数小于15的项目, 去除缺失值,数据清洗
# data2['event'].value_counts()#可以看见每个项目的个数,去除项目较少的
data2 = data[data['event']!='swim']#发现只有swim小于15,删除该项目
data2.dropna(inplace=True)#处理空数据,使用dropna方法,处理
data2['BMI'] = data2['weight']/(data2['height']/100)**2#新增BMI列,计算每个运动员的BMI值
data2['BMI_range'] = pd.cut(data2['BMI'],[0, 18.5, 24, 28, 50], labels=['thin', 'normal', 'strong', 'very strong'])plt.figure(figsize=(12, 6))#绘图大小
#小提琴图
sns.violinplot(x='event', y='BMI', data = data2,scale = 'count', palette='hls',inner='quartile')  #palette 颜色盘 Reds Blues#图中的白点, 散点,
sns.swarmplot(x='event', y='BMI',data=data2, color='white', alpha=0.8,s=3)#透明度,s圆点的宽度plt.grid(linestyle='--', alpha=0.5)#辅助线和透明度
plt.title("athlete's BMI")
plt.savefig("athlete's BMI", dpi=300)#dpi像素

上述代码,有几个常用的知识点,在此mark一下

data2.dropna(inplace=True)

上述代码是为了处理空值数据,使用的方法是直接删除,也可以进行填充,后续会有介绍的

data2['BMI_range'] = pd.cut(data2['BMI'],[0, 18.5, 24, 28, 50], labels=['thin', 'normal', 'strong', 'very strong'])

这里使用的是pandas库中的cut方法,将BMI值按照区间划分,并在相应区间给予标签值,比如数据落入0-18.5区间,该运动员BMI则属于‘thin’,属于比较瘦

在此以简单的小例子,看一下实验效果

pandas.cut(x,bins,right=True,labels=None,retbins=False,precision=3,include_lowest=False)pd.cut([1,10, 11,23,30], [0, 10, 20,32], labels=['<10', '<20', '<30'], right=True, include_lowest=True)
Out[31]:
[<10, <10, <20, <30, <30]
Categories (3, object): [<10 < <20 < <30]pd.cut([0, 1,10, 11,23,30], [0, 10, 20,32], labels=['<10', '<20', '<30'], right=True)
Out[33]:
[NaN, <10, <10, <20, <30, <30]
Categories (3, object): [<10 < <20 < <30]
  1. bins=[0, 10, 20,  32],right=True,包含右端点, include_lowest=True,包含左端点,则区间为[0,10],(10,20], (20,32];right=False,则区间为(1,10),(10,20)。
  2.  include_lowest=False,不包含左端点,是默认值,则区间不包含左端点,即第一个取值为NaN,那么上述区间划分为为(0,10],(10,20], (20,32];

大鹏教你数据分析系列--运动员身材都是完美的吗相关推荐

  1. python3爬虫及数据分析_Python3爬虫及可视化数据分析系列图文教程——大纲目录...

    本文首发于:Python3爬虫及可视化数据分析系列图文教程--大纲目录 - Python量化投资​www.lizenghai.com 写在最前 最近更新:2019-03-28 本教程所有源码见文尾. ...

  2. 按15分钟取数据_【数量技术宅|金融数据分析系列分享】套利策略的价差序列计算,恐怕没有你想的那么简单...

    更多精彩内容,欢迎关注公众号:数量技术宅 #价差计算的"误区" 我们在测试两个或多个金融资产相互运算产生的策略信号时,免不了需要涉及将不同的价格时间序列,按照时间轴进行对齐,套利策 ...

  3. 小甲鱼python全部视频_小甲鱼全套教程之Python系列视频教程

    Python 当前位置:主页 > 编程教程 > Python > 小甲鱼全套教程之Python系列视频教程 小甲鱼全套教程之Python系列视频教程 教程大小:   发布时间:201 ...

  4. 【数量技术宅|金融数据分析系列分享】套利策略的价差序列计算,恐怕没有你想的那么简单

    数量技术宅团队在CSDN学院推出了量化投资系列课程 欢迎有兴趣系统学习量化投资的同学,点击下方链接报名: 量化投资速成营(入门课程) Python股票量化投资 Python期货量化投资 Python数 ...

  5. 【数量技术宅|金融数据分析系列分享】为什么中证500(IC)是最适合长期做多的指数

    数量技术宅团队在CSDN学院推出了量化投资系列课程 欢迎有兴趣系统学习量化投资的同学,点击下方链接报名: 量化投资速成营(入门课程) Python股票量化投资 Python期货量化投资 Python数 ...

  6. 百度联手清华大学出版社 打造国内首套产教融合人工智能系列教材

    9月22日,百度与清华大学出版社签署战略合作协议,双方将携手打造国内首套产教融合人工智能系列教材,共享各类智库教材.题库.课程等资源:同时,双方将在师资培训及学生实践基地等领域展开深入合作,推进师资培 ...

  7. 数据分析系列:《精益数据分析》读书笔记和理解

    这本书很符合分析中的二八定律,前面20%的内容,蕴含了整本书80%的内容. 在数据的时代,我们希望我们的产品发展和用户增长都是数据驱动的.确保产品服务和营销有依据可寻.依据数据分析和数据挖掘的产品迭代 ...

  8. R语言数据分析系列之七

    R语言数据分析系列之七 -- by comaple.zhang 回归分析建模是数据分析里面很重要的一个应用之一,即通过使用已有的自变量的值建立某种关系,来预测未知变量(因变量)的值.如果因变量是连续的 ...

  9. 远哥教你MuleESB系列视频教程

    远哥教你MuleESB系列视频课程介绍共11个视频 1.Mule ESB介绍 2.社区版/企业版的区别和安装 3.MuleESB快速入门以及MEL和Message结构 4.官方例子讲解JMS/FTP/ ...

最新文章

  1. python的 是什么-python中的生成器是什么?生成器有什么用处?
  2. OPENSSL X509证书验证
  3. 关于微信浏览器H5 React,Vue工程化项目input无法自动聚焦疑难杂症排查
  4. python好用的内置库_第42p,time库,Python中优秀的内置库
  5. 17.和优化相关的hint
  6. Cmder的下载安装及使用
  7. PASCAL VOC 2012 数据集解析
  8. 产品经理的职责都有哪些
  9. 刑法285条非法获取计算机信息数据,刑法285条量刑标准,提供侵入计算机系统工具罪,并被拘役...
  10. android密码设成星号,将EditText密码掩码字符更改为星号(*)
  11. iol植入手术过程_卢奕教授专访:领略Phaco+IOL+Express植入术
  12. win7电脑连接无线网络怎么连接服务器未响应,Win7无线网络无法连接的原因及Wifi无法连接解决方法大全...
  13. iPadmini能运行c语言吗,一个移动固态硬盘,可以给iPad Pro2020和iPad Mini用是什么体验?...
  14. 我的AI转型之路与AI之我见(非985211的奋斗路程与视角)
  15. 南京大学计算机 曹云浩,【2015.青春曲园】第二十六届“迎校庆”校园十佳歌手大赛独家放送~...
  16. DIE(一个JS引擎Fuzzing工具)安装教程
  17. ESXI6.0 windows虚拟机 硬盘扩容实例...
  18. 18天精读掌握《费曼物理学讲义卷一》 第9天 2019/6/25
  19. 电脑连上WIfi但无网络的问题解决办法
  20. mount挂载失败出现Structure needs cleaning

热门文章

  1. 医院无线认证平台怎么样
  2. 用 Python 给女友做了个可能会被打死的七夕礼物 !
  3. 解决微信小程序主包太大问题
  4. 洛谷 p2404 自然数拆分问题
  5. 苏炳添博士论文研究自己,奥运学术两兼顾,还是暨大副教授,网友:真正的Run数据...
  6. MongoDB连接URL说明
  7. 【配置】利润中心会计启用
  8. mysql2004报错_mysqlbinlog备份时候报错Sanity check failed
  9. SILC 超像素分割代码
  10. CoppeliaSim基础:页面、视图、可视对象(相机/视觉传感器)