【pandas】testdata数据集分析
文章目录
- 一、数据集
- 二、实现
- 导包和准备工作
- 1、查看数据类型、表结构、统计各字段缺失值个数
- 2、删除所有全为空的列及身份证号为空的数据
- 3、将“开始从事某工作年份”规范为4位数字年份,如’2008‘,并将列名修改为’参加工作时间‘
- 4、添加列’工龄‘(体检年份-参加工作时间)和’年龄‘(体检时间-出生年份)两列。
- 5、统计不同性别的白细胞计数均值,画出柱状图
- 6、统计不同年龄段的白细胞计数,画出柱状图
- 三、完整代码
一、数据集
数据集:资料,提取码:hp4i
二、实现
导包和准备工作
# -*- coding: utf-8 -*
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib# 导入数据集
df = pd.read_excel('testdata.xls')
# 设置中文字体
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['font.family'] = 'sans-serif'
1、查看数据类型、表结构、统计各字段缺失值个数
print(df.dtypes)
print(df.info())
df.isna().sum()
2、删除所有全为空的列及身份证号为空的数据
# 观察缺失值 发现细胞其它值是空列
del df['细胞其它值']
df.dropna(subset=['身份证号'],inplace=True)
df.isna().sum()
3、将“开始从事某工作年份”规范为4位数字年份,如’2008‘,并将列名修改为’参加工作时间‘
def trans(x):y=str(x).strip()[0:4]# 有个很坑的数据 年份是个小数 也要去掉if float(y)>=1000:return int(y)
df.rename(columns={'开始从事某工作年份':'参加工作时间'},inplace=True)
df.dropna(subset=['参加工作时间'],inplace=True)
df['参加工作时间']=df['参加工作时间'].apply(lambda x:trans(x))
4、添加列’工龄‘(体检年份-参加工作时间)和’年龄‘(体检时间-出生年份)两列。
df.dropna(subset=['体检年份'],inplace=True)
df.dropna(subset=['身份证号'],inplace=True)
df['体检年份']=df['体检年份'].apply(lambda x:int(str(x)[0:4]))
df['工龄']=df['体检年份']-df['参加工作时间']
df['年龄']=df['体检年份']-df['身份证号'].apply(lambda x:int(str(x)[4:8]))
5、统计不同性别的白细胞计数均值,画出柱状图
df.groupby('性别')['白细胞计数'].mean().plot.bar()
plt.show()
6、统计不同年龄段的白细胞计数,画出柱状图
def accu(x):if x<=30: return '小于等于30'elif x>30 and x<=40: return '大于30,小于40'elif x>40 and x<=50: return '大于40,小于50'else: return '大于50'
df['年龄段']=df.apply(lambda x:accu(x['年龄']),axis=1)
df.groupby('年龄段')['白细胞计数'].mean().plot.bar()
plt.show()
三、完整代码
# -*- coding: utf-8 -*
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib# 导入数据集
df = pd.read_excel('testdata.xls')
# 设置中文字体
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['font.family'] = 'sans-serif' # A
print(df.dtypes)
print(df.info())
df.isna().sum()# B
del df['细胞其它值']
df.dropna(subset=['身份证号'],inplace=True)
df.isna().sum()
# c
def trans(x):y=str(x).strip()[0:4]if float(y)>=1000:return int(y)
df.rename(columns={'开始从事某工作年份':'参加工作时间'},inplace=True)
df.dropna(subset=['参加工作时间'],inplace=True)
df['参加工作时间']=df['参加工作时间'].apply(lambda x:trans(x))
# d
df.dropna(subset=['体检年份'],inplace=True)
df.dropna(subset=['身份证号'],inplace=True)
df['体检年份']=df['体检年份'].apply(lambda x:int(str(x)[0:4]))
df['工龄']=df['体检年份']-df['参加工作时间']
df['年龄']=df['体检年份']-df['身份证号'].apply(lambda x:int(str(x)[4:8]))
# e
df.groupby('性别')['白细胞计数'].mean().plot.bar()
plt.show()
# f
def accu(x):if x<=30: return '小于等于30'elif x>30 and x<=40: return '大于30,小于40'elif x>40 and x<=50: return '大于40,小于50'else: return '大于50' df['年龄段']=df.apply(lambda x:accu(x['年龄']),axis=1)
df.groupby('年龄段')['白细胞计数'].mean().plot.bar()
plt.show()
【pandas】testdata数据集分析相关推荐
- L:python的Pandas模块:实例练习(泰坦尼克号数据集分析,电影票房统计,股票基本面统计)
实例练习 泰坦尼克号数据集分析 使用Seaborn库中包含的titanic数据集进行一些数据统计. Seaborn是一个图形库,Anaconda已包含此库.数据集参见: https://github. ...
- 五十三、爱彼迎数据集分析建模
爱彼迎数据集分析建模为本专栏的Python数据分析案例. 因为文件比较大,所以保存了百度云 链接:https://pan.baidu.com/s/1geUgsLejvpTKgBmcSMSIdQ 提取码 ...
- 阿里天池:Airbnb短租房数据集分析
阿里天池:Airbnb短租数据集分析 1.项目介绍 2.字段介绍 3.分析目的和思路 4.模块导入与数据读取 5.探索性分析 (一)整体分析 (二)按区域划分 (三)按房型划分 1.项目介绍 数据来源 ...
- sklearn基础篇(三)-- 鸢尾花(iris)数据集分析和分类
后面对Sklearn的学习主要以<Python机器学习基础教程>和<机器学习实战基于scikit-learn和tensorflow>,两本互为补充进行学习,下面是开篇的学习内容 ...
- pandas获取数据集数据类型分布(更细粒度的分割)
方法一:使用pandas内置接口 在pandas中,获取数据类型有几个方法,以泰坦尼克号数据集为例, 1.拿到numerical数据类型 df.select_dtypes('number').colu ...
- NBA球星生涯数据集分析
源码链接: https://download.csdn.net/download/qq_58012062/87541713?spm=1001.2014.3001.5501 数据提取:链接:https: ...
- Kaggle PUBG吃鸡数据集--数据分析可视化PUBG数据集分析报告
PUBG数据集分析报告 数据集分为两个部分 数据集1: agg数据: 15 字段 date: 时间 game_size:队伍数量 match_id:比赛 match_mode: 对局模式(第一人称还是 ...
- 数据分析案例--红酒数据集分析
介绍: 这篇文章主分析了红酒的通用数据集,这个数据集一共有1600个样本,11个红酒的理化性质,以及红酒的品质(评分从0到10).这里主要用python进行分析,主要内容分为:单变量,双变量,和多变量 ...
- 红酒数据集分析【详细版】
红酒数据集分析[详细版] 原文链接:阿里云天池 数据连接:链接:https://pan.baidu.com/s/1UpVkbgOEIjpc_GQTGHyqTQ 提取码:ztjs 介绍 这个notebo ...
最新文章
- 干货 | 谷歌BERT模型fine-tune终极实践教程
- 动态卷积超进化!通道融合替换注意力,减少75%参数量且性能显著提升 ICLR 2021...
- 几经沉浮,自乱前程——硬盘巨头启示录之迈拓篇
- 在使用chrome调试angular2的时候出现下面问题
- 【机器视觉】 comment算子
- JWT令牌的秘密轮换
- htc g7 android 4.4,HTC G7刷机,从WM手机刷到了安卓,开启了新的刷机体验....
- Can you answer these queries II
- 如何把服务器系统克隆出来,一次Win2003服务器下的完全克隆 -电脑资料
- 如何在10亿个数中找到前1000大的数?
- Oracle解决Ora-01653无法扩展表空间问题
- Cache基本原理之:结构
- android viewpager实现画廊效果,ViewPager实现2D、3D画廊效果
- 我对“心即理,致良知,知行合一”和《王阳明四句教》的的理解。
- 图集压缩格式设置ASTC不生效的原因
- vscode 突然无法切换输入法(切换中文输入法)
- .net6智能提示设置为中文
- 树及树的算法(4) —— 红黑树
- Walmart API 授权流程解析
- CSDN自定义模块高级设置之(2)——设置主页左则及详情页背景(打造节日气氛)
热门文章
- c++实现数组数字向右向左移动
- 洛古——P1433 吃奶酪
- gcc或者clang输出typeid(typename).name()的全称
- 获取到小程序全局唯一的 App 实例(getApp()获取)
- Ae 脚本:Face Tools 4 脸部工具
- 【uniapp】sigmob广告加载失败:-5005、500422没有imei的解决办法(原创可用)
- Matlab 原始高斯消去法函数
- mixin机制 vue_谈谈vue中mixin的一点理解
- java算法:判断一个五位数是不是回文数
- Android 融云IM集成以及使用详解(二)