解决常见问题:

  1. 微信公众号中阅读量最高的前10篇文章是哪些?
  2. 药店中每个月的销售金额是多少?

数据分析过程分为以下步骤:

(1)提出问题:数据分析首先要有个明确的问题。是所有数据分析开始的第一步。

(2)理解数据:采集数据(根据定义的问题来采集数据)、导入数据(excel、sql)譬如,读取excel到python二维框中、了解数据

(3)对数据进行清洗(对数据进行预处理)

(4)构建模型(对清洗后的数据进行数据分析,得出业务指标,复杂的要用机器模型的训练)

(5)数据可视化(与他人交流你的展示结果)

例:朝阳医院 销售数据

希望知道如下几个指标:月均消费次数、月均消费金额、客单价、消费趋势。首先自己必须搞清楚各个指标代表什么。和业务部门讨论清楚。

  1. 解决问题之前,首先需要看数据集的基本信息,先用ExcelFile方法将数据读取到数据框中,我们加入了dtype方法,是希望所有数据都按字符串的方式读取出来。以保证数据的正确性。

打印出前几行,以保证数据正确读取了,也了解有哪些列以及他们的特点。

用descript方法来看数据的基本信息。

2. 数据清洗步骤

(1)选择子集;使用切片的冒号,使用loc属性可以获取指定范围

好多列,那么有时候我们只需要几列;

(2)列名重命名;首先建立一个旧新列名的对应关系,然后用rename方法来重命名,参数inplace,true:表示会改变数据框本身,false:会复制一个新的数据框出来,改变他的列名。

如果列名不方便数据分析,那么我们要对列名进行重命名

(3)缺失数据处理;记录缺失错误,直接删除缺失数据,如果缺失值太多,那么我们可以通过建立模型的方式来补充这些数据。不能有缺失值的列,可以用dropna来删除空数据,参数subset用于存放删除指定列的列表,第二个参数how,用于指定如何删除数据,how="any"表示任何一列有缺失值,都直接删除。可以看前后数据,saleDf.shape,行数差了多少。

(4)数据类型转换,字符串类型转换为数字类型。.astype('float');,例如日期只需要日期,不需要星期几,那么用.split分割字符串就可以。定义函数,可以将一列数据的每行数据都处理。字符串转换为日期类型,pd.to_datetime(列,格式,errors='coerce');如果不符合格式,会被转化为空值。因为日期不合理,会被置空,所以要执行一遍缺失处理数据。

(5)数据排序;按指定列名排序,默认排序算法快排序。by=列名,ascending=true:降序;false:生序。重命名行号,df.reset_index()

(6)异常值处理,有些数据超出了范围;用df.describe()来获取整体数据。使用条件判断,筛选出 销售数量>0的数据。

3. 分析数据

1⃣️月均消费次数 = 总消费次数 / 月份数。

同一天内、同一个人,发生的所有消费算作一次消费。但发生在同一天的,虽然有两次消费,但也算1次数据。

所以要根据日期和社保卡号来去重。只保留一条。

kpi1_df=df.drop_duplicates(subset=['销售时间','社保卡号']); // 删除重复数据

totalI = kpi1_df.shape[0]; // 有多少行,即总消费次数

(1)排序,df.sort_values(by='消费时间',ascending=true) // 按销售时间生序排序

kpi1df = kpi1df.reset_index(drop=true) // 重命名行名 index

(2)获取时间范围:第一行是最小时间,第二行是最大时间

(3)计算月份数,(结束时间-开始时间).days得出天数。 /30得出一共几个月。

总消费次数/月份数=月均消费次数。

2⃣️月均消费金额 = 总消费金额/月份数

totalMoneyF = df.loc[:,'实收金额'].sum();

monthMoneyF = totalMoneyF / monthsI;

3⃣️客单价 = 总消费金额/总消费次数

4⃣️趋势分析,之后再来。

距离上篇文章,已经过去9个月了。重新拾起来。

2019.2.28(12:29)

获取inout框中未改变值的数据_数据分析10——数据分析的基本过程(02)相关推荐

  1. 如何获取select中的value、text、index相关值 如何获取单选框中radio值 触发事件 radio 默认选中...

    如何获取select中的value.text.index相关值 select还是比较常用的一个标签,如何获取其中的内容呢? 如下所示: <select id="select" ...

  2. js触发onclick事件获取文本框中的值value

    1.首先我们创建一到两个文本框 ,使用 <input >标签 <!--创建文本框: type:类型, value:初始值,可以不设置 id:唯一性-->用户名: <inp ...

  3. js获得html下拉框的值,JavaScript如何获取select下拉框中第一个值

    本文主要和大家介绍JavaScript实现获取select下拉框中第一个值的方法,涉及javascript针对页面元素属性的相关获取操作技巧,需要的朋友可以参考下,希望能帮助到大家. 1.说明 获取s ...

  4. python数据框去重_【Python】基于某些列删除数据框中的重复值

    Python按照某些列去重,可用drop_duplicates函数轻松处理.本文致力用简洁的语言介绍该函数. 一.drop_duplicates函数介绍 drop_duplicates函数可以按某列去 ...

  5. python绘制星空图_【Python】基于某些列删除数据框中的重复值

    阿黎逸阳 精选Python.SQL.R.MATLAB等相关知识,让你的学习和工作更出彩(可提供风控建模干货经验). Python按照 某些列去重 ,可用 drop_duplicates函数轻松处理 . ...

  6. html 获取文本框中的内容

    获取文本框中的内容有以下两种方法: 假设为如下文本框: <input type="text" value="" id="text"&g ...

  7. 两个下拉框相关联ajax,触发第二个下拉框以显示基于从第一个下拉框中选择的值的值ajax...

    我有两个引导程序下拉框.当我们点击另一个下拉菜单时,其中一个会根据用户选择的国家显示来自数据库的所有国家名称,另一个下拉菜单应该选择状态. 当我点击一个下拉菜单时,我做了一个ajax请求来显示国家名称 ...

  8. SpringMVC js如何获取后台model中的属性值

    SpringMVC js如何获取后台model中的属性值 companylist 如何获取 var companylist="${companylist}"; 希望对你有所帮助 个 ...

  9. 【Groovy】map 集合 ( 根据 Key 获取 map 集合中对应的值 | map.Key 方式 | map.‘Key’ 方式 | map[‘Key’] 方式 | 代码示例 )

    文章目录 一.根据 Key 获取 map 集合中对应的值 1.通过 map.Key 方式获取 map 集合中的值 Value 2.通过 map.'Key' 方式获取 map 集合中的值 Value 3 ...

最新文章

  1. Oracle分析函数五——统计分析函数
  2. WebHook 与jenkins
  3. Django补充知识点——用户管理
  4. CSS的预编译——less语言基本语法教程(入门)
  5. java环境怎么搭,如何搭建一个完整的Java开发环境
  6. TensorFlow2.0:误差计算
  7. python程序打包_python之程序打包
  8. linux远程仿真,11.5 仿真的远程桌面系统: XRDP 服务器
  9. 已安装 SQL Server 2005 Express 工具。若要继续,请删除 SQL Server 2005 Express 工具
  10. C# list删除 另外list里面的元素_python学习笔记第三课:List(列表)
  11. 自建gitHub的webhook消息通知设计思路及成功验证结果
  12. (附源码)计算机毕业设计SSM旅游网站设计
  13. LTE时代的定位技术:OTDOA,LPP,SUPL2.0
  14. 主流前端框架实现原理
  15. 基于Mplayer的嵌入式流媒体播放器的设计与实现
  16. ARM中的浮点运算测试
  17. 《中庸》开宗明义:天命之谓性,率性之谓道,修道之谓教。
  18. 瞬时测频接收机matlab_瞬时测频接收机
  19. mysql 星座_mysql 查询年龄段,星座以及最近7天生日的sql
  20. 【以太网硬件九】1000base-X是什么?

热门文章

  1. springmvc提供RestController方法接口返回json数据中文乱码
  2. android闹钟的需求分析,手机小闹钟需求分析
  3. 手机用鸿蒙,魅族“很聪明”:宣布加入鸿蒙,让大家以为手机用鸿蒙,其实不是...
  4. python notebook使用,Jupyter Notebook使用笔记
  5. 四十一、Vue项目上手 | 用户管理系统 实现用户修改和删除功能(完成篇)
  6. 三十七、深入Vue.js组件Component(下篇)
  7. ​Efficient GlobalPointer:少点参数,多点效果
  8. 轻舟智航发布Driven-by-QCraft第三代自动驾驶硬件方案
  9. 杭州内推 | 阿里达摩院机器智能技术团队招聘多模态方向研究型实习生
  10. 直播 | ACL 2021论文解读:提升预训练语言模型实体与关系理解的统一框架