上篇文章我们初步认识了numpy包和pandas包的基本用法,这篇文章就来讲一下如何利用Python做数据分析。

一、数据分析的基本步骤

1. 明确问题,理解数据

(1)先把问题了解清楚,明确分析背景及目的

(2)了解数据集的整体情况

(3)明确分析思路

2. 数据清洗

(1)确定数据集

(2)处理重复值和缺失值

(3)处理数据类型/格式

(4)处理异常值

3. 构建模型,可视化分析

构建分析模型,利用可视化图表进行分析

4. 结论及建议

根据分析得出结论,并给出相应的建议

二、如何理解数据

当我们得到数据集时,可以通过提取数据集的描述统计信息,初步了解数据集的整体情况第一步,导入文件

2. 第二步,检查数据导入是否完整

用shape属性查看行列数

3. 第三步,预览表格整体情况

用head()方法打印前5行

4. 第四步,检查各字段的数据类型是否正确

用dtypes属性

三、如何进行数据清洗确定数据集

(1)选择子集

当我们不需要那么多数据时,可以通过筛选来选出需要的数据集,比如现在我只需要前5行前3列数据

(2)列名重命名

PS:inplace=False,表示原数据框不会变,而是会创建一个新的数据框进行改变,缺省时默认False

inplace=True,表示原数据框会变化,因为我们后续分析要用到改变后的数据框,所以指定True

2. 处理重复值和缺失值

由于“销售时间”和“社保卡号”任意一个都不能为空,所以要删除这两列中为空的行

3. 处理数据类型/格式

(1)数字类型转换

用astype函数把字符串数字转换为数字型数字

(2)日期类型转换

把字符串日期中的“星期”去掉,保留“日期”,举例:

① 第一步,定义日期分隔函数

因为输入的timeColSer是Series类型,所以返回要要转换成Series类型,才能不改变转换前后的数据结构

②第二步,获取“销售时间”列,把这列作为参数传入分隔函数,并对打印结果进行检验

③ 第三步,把处理后的日期替换到原来的“销售时间”列

④ 把字符串日期转换为日期型日期

4. 处理异常值

① 查看数据集的描述统计信息

用describe函数计算描述统计信息,describe只对数字类型的列进行计算

从上图中可以看出三项数据的最小值都是负数,明显是不符合常理,由此可以判断肯定存在异常值

② 排序

为了进一步确认确认销售数量、应收金额、实收金额出现负数的情况,把销售数量列进行升序排序以便观察

用sort_values方法进行排序

结果发现这3列的确是存在很多负数行,需要把这些行删除掉

PS:ascending=True 表示升序,ascending=False表示降序

na_position=True表示排序的时候,把空值放到前列,这样可以比较清晰的看到哪些地方有空值,缺省时默认是False,即空值放到最后

ignore_index=True表示重新排序后行号也重新按0~n重命名,缺省时默认是False,即按照原行号打印

③ 删除异常值

通过构建查询条件来删除异常值

最后检查是否删除成功

四、如何构建模型

案例:分析某电商产品的月均消费次数、月均消费金额、客单价

1. 业务指标1,月均消费次数

案例中业务部门定义:月均消费次数 = 总消费次数 / 月数

(1)先计算总消费次数

总消费次数中,统计口径为:同一天内,同一个人发生的所有消费算作一次消费

也就是说,要对同一天内同一个人的多次消费进行排重,计算排重后的行数就是总消费次数

(2)再计算月份数

只需要找到开始时间和结束时间,两个时间的时间差除以30即可得出月份数

① Step1,按销售时间排序

排序后发现销售时间列存在时间类型的空值NaT(Not Available Time),需要把这些行删除掉

② Step2,获取时间范围

由于删除了记录,需要重新计算行数

获取时间范围

3)Step3,计算月数

先计算出相隔天数

再把天数转换成月数

③ 最后计算月均消费次数

2. 业务指标2,月均消费金额

月均消费金额 = 总消费金额 / 月数

(1)先计算总消费金额

(2)再计算月均消费金额

3. 业务指标3,客单价

客单价(per customer transaction) = 总消费金额 / 消费人数

消费人数有两种统计口径,一种是“同一个人不同时间(天)消费算不同人”,另一种是“同一个人不同时间(天)消费算同一个人”,这里取第一种统计口径

在业务指标2中计算出了总消费金额,业务指标1中计算出了消费人数,那么客单价即:

请简述python数据分析流程_简单案例讲解Python数据分析的基本步骤相关推荐

  1. 视频教程-跟着王进老师学开发Python篇:基础入门案例讲解-Python

    跟着王进老师学开发Python篇:基础入门案例讲解 教学风格独特,以学员视角出发设计课程,难易适度,重点突出,架构清晰,将实战经验融合到教学中.讲授技术同时传递方法.得到广大学员的高度认可. 王进 ¥ ...

  2. python网站设计理念_简单介绍下python Django框架的历史,设计理念及优势_Django讲解2...

    简单介绍下python Django框架的历史,设计理念及优势 Django是一个高层次的 Python Web 框架,它是一个鼓励快速开发和干净,实用的框架设计.Django可以更容易地快速构建更好 ...

  3. python抠图教程_简单几行Python代码实现8秒抠图的AI神器,根本无需PS(附教程)...

    曾几何时,「抠图」是一个难度系数想当高的活儿,但今天要介绍的这款神工具,只要 3 行代码 5 秒钟就可以完成高精度抠图,甚至都不用会代码,点两下鼠标就完成了. 感受下这款抠图工具抠地有多精细: 是不是 ...

  4. python动态规划图解_动态规划案例之python实现(一)

    假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数. 示例 1: 输入: 2 输出: 2 解释: 有两 ...

  5. 第18节 渗透测试流程和简单案例

    渗透测试流程和简单案例 1渗透测试概述 2渗透测试大致流程 3简单实验 3.1扫描 3.2利用共享服务端口445漏洞之IPC$ 3.3修改用户名增加暴力破解难度的方式 3.4暴力破解密码 3.5漏洞利 ...

  6. python编程基础_月隐学python第2课

    python编程基础_月隐学python第2课 学习目标 掌握变量的输入和输出 掌握数据类型的基本概念 掌握算数运算 1.变量的输入和输出 1.1 变量输入 使用input输入 input用于输入数据 ...

  7. 跟着王进老师学开发Python篇:基础入门案例讲解-王进-专题视频课程

    跟着王进老师学开发Python篇:基础入门案例讲解-166人已学习 课程介绍         共计45个项目案例+项目源码,跟着王进老师尽情玩转Python解释器! 本课程涉及Python的基础语法, ...

  8. 查看Python的版本_查看当前安装Python的版本

    一.查看Python的版本_查看当前安装Python的版本 具体方法: 首先按[win+r]组合键打开运行: 然后输入cmd,点击[确定]: 最后执行[python --version]命令即可. 特 ...

  9. 跟着王进老师学开发Python篇:基础强化案例讲解-王进-专题视频课程

    跟着王进老师学开发Python篇:基础强化案例讲解-143人已学习 课程介绍         共计27个项目案例+项目源码,跟着王进老师尽情玩转Python解释器! 案例涵盖的内容有:Python程序 ...

最新文章

  1. 如何自动保存 Spring Boot 应用进程号?
  2. 不可错过的CMS学习笔记
  3. [转载MSDN]IIS 7.0中的Live Smooth Streaming -入门
  4. 在Linux下不使用密码远程登陆其他Linux
  5. OpenCV多目标跟踪与视频分析
  6. light7在微信ios下input点击困难
  7. Portlet MVC框架
  8. 标题: Excel地址 Excel单元格的地址表示很有趣,它使用字母来表示列号。 比如, A表示第1列, B表示第2列, Z表示第26列, AA表示第27列, AB表示第28列, BA表示第53列
  9. 小程序源码:求职招聘微信小程序-多玩法安装简单
  10. 163邮箱每天可以无限制的发邮件么?
  11. Matlab Robitic Toolbox学习笔记Day2
  12. ArcGIS之克里金插值教学
  13. 微信小程序拒绝定位之后 如何再次开启以及判断是否打开了系统定位功能
  14. 【Benewake(北醒)】 单点系列标品介绍
  15. 共享内存的创建和映射shmget()和shmat()
  16. Adobe Acrobat Reader DC 2019 (19.8)
  17. 2022年9月全国计算机二级报名通知 @知识兔
  18. docker的基本用法
  19. windows使用双网卡同时上内外网
  20. 面向切面编程的简单应用

热门文章

  1. python conda安装
  2. conda:安装python
  3. 操作成功失败html,固话呼叫转移设置不成功怎么办?
  4. jQuery 操作整理
  5. HTML中视频默认显示自定义图片
  6. 2022国自然中标至少1篇1区代表作?没中接下来怎么办?
  7. opencv对视频进行人脸识别--使用videoCapture类
  8. 虚拟机vmware去虚拟化过检测教程
  9. LEFT JOIN 与 RIGHT JOIN
  10. 4周年——学而不思则罔,思而不学则殆