numpy 删除所有为_用Numpy和Pandas工具分析销售数据
在数据分析领域,Python中用到最多的包是numpy,pandas和matplotlib,本文共分为三个部分:1.使用numpy和pandas分析一维数据 2.使用numpy和pandas分析二维数据 3.案例分析。
- Numpy(Numerical Python):是Python语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
- Pandas:基于Numpy的一种数据分析工具,该工具是为解决数据分析任务而创建的,提供了一套名为数据框的数据结构,可以方便地对表结构数据进行分析。
- matplotlib:是一个图形绘制库,专门用于数据分析结构的可视化。
*数据分析工具Numpy和Pandas大纲
一.一维数据分析
Numpy:Array
Pandas:Series
1)Numpy一维数据
Numpy一维数组与列表的区别:
a.统计功能:如:计算平均值的mean()方法,标准差std()方法;
b.向量化计算:可以向量相加和乘以标量;
c.Numpy数组中的每一个元素必须是同一种数据类型,而列表中的元素可以是不同类型。
2)Pandas 一维数组:Series有索引
a.获取描述统计信息
b. # series.iloc[] :根据位置获取值。 series.loc[]:根据索引获取值。
c.向量相加 和删除缺失值
二.二维数据分析
Numpy:Array
Pandas:DataFarme
1)Numpy
a.定义二维数组,查询数组
b.切片的使用:切片的使用:[行进行切片,列进行切片],[start:stop:step,start:stop:step]
c.数轴参数:axis=1按行计算,axis=0按列计算
2.Pandas
a.数据框DataFrame: 行columns ; 列index
b.定义一个字典
c.按照每列计算平均值
d.用iloc属性根据位置查询值
e.用loc属性根据索引查询值
f.查询某几列
g.切片功能:指定范围
h.通过条件筛选符合要求的数据
i.数据集描述统计信息
- 查看某一列数据类型
- 查看有多少行多少列
- 获取每一列的描述统计
三.案例
Numpy和Pandas 对朝阳医院药品销售数据进行分析,步骤如下:
1.提出问题
和业务部门沟通后,要从销售数据中分析以下业务指标:
- 月均消费次数;
- 月均消费金额;
- 客单价;
- 消费趋势
2.理解数据
1)导入数据
2)查看数据类型
3)查看总的行列数
4)表中字段含义如下:
- 购药时间:药品销售日期
- 社保卡号:顾客购买药品使用的社保卡号码
- 商品编码:售出药品的编号
- 商品名称:售出药品的名称
- 销售数量:售出药品的数量
- 应收金额:药品应售金额
- 实收金额: 药品实际售出金额(折扣,满减)
3.清洗数据
原始数据多而杂乱,或缺失,或异常,需要进行数据清洗,得到后续数据分析可用的数据。
1)选择子集
本案例需要所有数据,不需要选择子集。下面是展示选择子集的方法之一:切片访问
2)列名重命名
统一列名的时间,这里将“购药时间”改为“销售时间”,用字典定义旧列名和新列名;用rename函数修改。
3)缺失值处理
a. Python缺失值有3种:None,NA,NaN
- Python内置的None值
- 在pandas中,将缺失值表示为NA,表示不可用not available。
- 对于数值数据,pandas使用浮点值NaN(Not a Number)
b.数据中含有缺失值,对后续计算会造成干扰,可以用空值填充或直接删除,此处用dropna()将数据框中缺失值删除。
*how=any表示,给定的任一列中缺失值就删除
4.数据类型转换
a.在导入数据时已将所有数据设定为字符串类型,现在用astype()将销售数量、应收金额和实收金额三列数据类型改为浮点型。
b.自定义函数,将字符串转换为日期数据类型
5.数据排序
用sort_values()对数据进行排序
删除缺失值和根据销售时间排序后,索引名已被打乱,需重新命名索引名
6.异常值处理
如上图所示,我们发现销售数量的最小值为-10,因此可以将销售数量为负值的行删除。
4.构建模型
我们可根据业务问题来构建模型。
问题1: 月消费次数
月消费次数=总消费次数/月数。注:同一天内同一人的多次消费算为1次。
问题2:月均消费金额
月均消费金额=总消费金额(实收金额)/月份数。
问题3:客单价
客单价=总消费金额/总消费次数。
问题4: 消费趋势
计算每月销售总金额
导出数据做出销售趋势图如下:
numpy 删除所有为_用Numpy和Pandas工具分析销售数据相关推荐
- python中numpy matplotlib绘图教程_利用numpy+matplotlib绘图的基本操作教程
简述 Matplotlib是一个基于python的2D画图库,能够用python脚本方便的画出折线图,直方图,功率谱图,散点图等常用图表,而且语法简单.具体介绍见matplot官网. Numpy(Nu ...
- python删除负数负号_在numpy中将负数舍入为零时,如何消除多余的负号?
在-0.和+0.之间存在的问题是浮动应该如何工作的规范(IEEE754)的一部分.在某些情况下,人们需要这种区别.例如,请参见在the docs for ^{}中链接到的文档. 值得注意的是,两个0应 ...
- 两个numpy取相同值_闲谈Numpy的切片规则
我想说在学numpy库的时候切片真的让我有点痛苦的,逗号分号括号数字交织在一起刚开始看的我简直脑袋要爆炸,不过后来静下心来仔细看了看,发现其实也米有这么复杂,毕竟基于python的numpy库也是遵循 ...
- numpy pytorch 接口对应_用树莓派4b构建深度学习应用(四)PyTorch篇
前言 上回我们安装了OpenCV 4.4,相信对源码编译库文件有了一定的了解,这篇我们进一步在树莓派上编译并安装 Pytorch 的最新版本. PyTorch 1.6 的新特性 PyTorch 1.6 ...
- python数组和函数的区别_真假美猴王-Numpy数据与Python数组的区别与联系!
Numpy,是python中的一个矩阵计算包,功能类似matlab的矩阵计算.Numpy的诞生弥补了下面提到的两项的不足,numpy提供了两种基本的对象:ndarray(N-dimensional a ...
- python 创建空的numpy数组_真假美猴王-Numpy数据与Python数组的区别与联系
Numpy,是python中的一个矩阵计算包,功能类似matlab的矩阵计算.Numpy的诞生弥补了下面提到的两项的不足,numpy提供了两种基本的对象:ndarray(N-dimensional a ...
- python 函数作用于矩阵_图解NumPy:常用函数的内在机制
原标题:图解NumPy:常用函数的内在机制 来源: 机器之心 支持大量多维数组和矩阵运算的 NumPy 软件库是许多机器学习开发者和研究者的必备工具,本文将通过直观易懂的图示解析常用的 NumPy 功 ...
- python引用numpy出错_引用numpy出错详解及解决方法
numpy出错 解决方案 Problem: how to import numpy in subdirectory? Import error of numpy within subfolder. 错 ...
- numpy向量转换为矩阵_干掉公式——numpy 就该这么学
机器学习和数据分析变得越来越重要,但在学习和实践过程中,常常因为不知道怎么用程序实现各种数学公式而感到苦恼,今天我们从数学公式的角度上了解下,用 python 实现的方式方法. 友情提示:不要被公式吓 ...
最新文章
- yum安装etcd集群
- SSO 认证机制对比
- 成功解决WARNING: You do not appear to have an NVIDIA GPU supported by the 430.34 NVIDIA Linux graph
- 【最长公共前缀】算法优化笔记
- 通过腾讯地图服务获取行政区划信息
- php mysql登陆页面完整代码_求助:PHP实现登陆注册的代码是什么啊(主要是数据库那块)?...
- QT 线程池 + TCP 小试(三)实现最终功能
- oracle profile为何被修改了,【图片】快被oracle玩死了,谁能告诉我为啥插入条数不同结果差别这么大!【java吧】_百度贴吧...
- mxnet系列 安装
- sublime php code sniffer,mac下sublime text3的php错误提示插件php code sniffer安装后,无法显示php错误...
- VSPE虚拟串口关机蓝屏(BSOD)的解决办法
- 小楼一夜听春雨,天下谁人不识君?
- Matlab在线运行网站
- CDN选择合适的回源策略很重要
- mysql netbeans_使用Netbeans操作MySQL数据库
- 前端开发工程师需要的技能
- Day101.MyBatisPlus(MP):自动填充、乐观锁、分页、逻辑删除、Wrapper条件构造器
- android room 分页,Android官方ORM数据库Room技术解决方案简介(一)
- Find the maximum and minimum value in tensor array
- APISpace 通知短信API
热门文章
- 飞鸽传书为我们提供了方便的聊天工具
- BAT网页10年巨变,背后的前端技术你都知道吗?
- java class 文件分析_大概优秀的java程序员都要会分析class文件吧
- oracle宣传视频下载,1300首 Audiomachine 背景音乐电影宣传预告片配乐合辑(23集)...
- h5点击后字体加粗出现下边框_人力资源管理论文格式(字体+版式+打印)
- 属于程序员的等级,看看你是哪个级别?
- protobuf数据类型_protobuf【1】
- PyPDF2 | 利用 Python 实现 PDF 分割
- 部分植物基因组数据库汇总
- Invisor for Mac(媒体文件检查工具)v3.14免激活版