系列文章目录
Python数据科学家养成计划(数据分析 LEVEL I 考证)
前言
随着人工智能的不断发展,数据科学相关技术也越来越重要,很多人都开启了学习数据科学相关知识体系的学习之旅,本文就介绍了数据科学中数据分析 LEVEL I 考证的知识体系内容。
一、认识数据分析
1. 热点问题解读
什么是数据分析?
答:根据方法论的指导,使用数据分析软件实现数据价值发现。
为什么需要数据分析?
答:记录业务轨迹,为未来业务决策提供参考及思考。
数据分析的市场需求?
答:蓝海市场,大学数据分析专业暂无,供不应求。
数据分析的分类?
答:技术型数据分析、业务型数据分析。
2. 职位划分
3. 数据流转
(1) 技术型数据流转:
(2) 业务型数据流转:
4. 数据分析项目参与角色
-
业务人员
提出业务需求、检验分析结果的准确性、使用分析结果指导业务工作。
-
数据分析师
零碎工具辅助、提取数据、制作分析报告、制作可视化看板,汇报分析结果。
-
IT 技术人员
搭建并维护分析平台、创建数据仓库、数据更新维护。
-
业务分析师
需求的提出方、操作方、验证方,运用数据分析结果辅助业务判断。
-
IT 技术人员
搭建并维护分析平台、创建数据仓库、数据更新维护。
5. 目的及意义
数据是可量化业务的客观事实。
问:
店里最畅销的商品有哪些?
答:
商品 A、商品B、…
问:
畅销商品库存是否充足?
答:
充足
问:
新品上架,消费者是否喜欢?
答:
非常喜欢
问:
双十一结束了,这次活动的表现如何?
答:
非常好
问:
公司打算拓展新业务,现有资金是否足以开拓新业务?
答:
资金紧缺
问:
你们的产品目前在市场上的优势是什么?
答:
所有用过的客户都很满意
6. 数据分析流程
7. 案例思考
案例背景:
3 月 7 日女神节即将到来,购物商场 A 的市场部门忙碌着设计优惠券相关的营销活动,为了提升人流量、利润,希望提供相似活动目的的营销活动表现说明报告?假设数据均可获取。
业务理解:
市场部的核心需求是什么?品牌的拉客流能力通过数据中的哪些字段呈现?优惠券的形式有哪些?阅读报告的角色是什么?如何设定报告框架?
数据收集:
以往活动是否涉及第三方机构数据获取?市场部是否提供以往营销活动说明数据?
数据处理:
数据表间关联字段是否统一,多表如何关联?是否存在导购帮刷会员卡的现象?
数据分析:
选择什么维度开始分析呢?统计出来的结果相冲怎么办?对比指标如何选择?时间范围如何限定是合理的?
图表制作:
什么样的图表才能清晰的解读数据?图表结论怎样锋利的指向业务问题?图表细节如何调整成想要的样式?
报表绘制:
决策者看完报表能否快速理解报告思路?能否为市场部提供活动设计形式的帮助?
8. 围绕数据分析师的三大类工作内容
-
零碎需求—用数据使业务问题细节明朗化(工具辅助、日常取数及业务问题发现)
-
业务建模—数据拓维
-
提供可视化分析看板或周、月、季度、年整体分析报告
二、认识数据
1. 理解数据
2. 表格结构
特点:
-
支持任意单元格内容的增删改查;
-
通过行列索引定位单元格;
-
支持合并单元格。
3. 表格结构的分析
(1) 案例 1
转换前:
转换后:
(2) 案例 2
转换前:
转换后:
4. 关系型表结构
特点:
-
单表内数据用于描述一个业务场景,如销售流水表、员工信息表等;
-
每列数据数据类型相同,用于描述数据的一个属性,属性名称为列的字段名,字段名不能重复;
-
数据内不存在合并单元格;
-
表中存在某个字段或某几个字段内的数据组合唯一识别一行记录(即主键)。
表间连接的前提:跨表分析。
表间通过字段连接,字段名不同,但字段所描述的信息必须相同。
例:
学生表里的学号字段与成绩表里的学生 ID 字段,描述的都是学生编号,故可以建立连接。
5. 非关系型表结构
特点:
-
根据关键词获取对应值,关键词不重复;
-
结构间层层嵌套。
例:
-
系统中的文件通过地址定位;
-
Power Query 中的 M 函数。
6. 表格结构、关系型表结构、非关系型表结构 比对
表格结构 | 关系型表格结构 | 非关系型表格结构 | |
---|---|---|---|
代表软件 | Excel | MySQL | Power Query |
优点 | 灵活处理每个数据 | 表内、表间关系清晰,存储数据量大 | 多结构兼容性强 |
缺点 | 处理数据量少、易错 | 多结构兼容性弱 | 嵌套多层复杂易错 |
三、基本操作
1. 常见图表应用—对比类—柱状图与条形图
柱形图反映
一段时间数据的变化
,或者
不同项目之间的对比
。
条形图显示
各个项目之间的对比
,其分类轴设置在纵轴上。
2. 常见图表应用—对比类—折线图
折线图反映
一段时间内,统计内容的变化趋势
,往往结合时间维度使用。
3. 常见图表应用—对比类—雷达图
雷达图反映
指定维度下类别间的差异
。
注:为不影响图表内容的表达,维度控制在 10 个内,类别控制在 4 个内(2个为最佳)。
4. 常见图表应用—构成类—饼图与圆环图
饼图和圆环图反映
组成数据系列的项目在项目总和中所占的比例
。
5. 常见图表应用—构成类—旭日图与树状图
旭日图与树状图反映
组成数据系列间的层级关系以及系列内项目在项目总和中所占的比例,
。
6. 常见图表应用—分布类—散点图与气泡图
散点图反映
数据在两个维度下的相关性
,而气泡图在此基础上增加了一个维度
用气泡大小表示
。
7. 常见图表衍生应用—子弹图
子弹图因形似子弹而得名,往往用于
反映各类别的完成情况
。
8. 常见图表衍生应用—对比图
利用堆积条形图实现系列间比对。
9. 常见图表衍生应用—子母饼图
子母饼图
在基础饼图的基础上,细分某个部分内的细分占比结构
。
10. 常见图表衍生应用—达成率图
11. 常见图表误区—绘图区长宽比例
12. 常见图表误区—坐标轴刻度的强调效果
13. 常见图表误区—理顺数据标志
14. 常见图表误区—让图表提供完整信息
四、表格结构数据处理
1. Excel 常用函数
序号 | 函数类别 | 分序号 | 函数名称 | 用途 |
---|---|---|---|---|
1 | 数学 | 1.1 | ROUND(number, num_digits) | 设定指定位数,按此位数对目标数字进行四舍五入取整 |
1.2 | ROUNDUP(number, num_digits) | 对目标数字按照指定的条件进行舍入处理 | ||
1.3 | ROUNDDOWN(number, num_digits) | 对目标数字按照指定的条件进行舍去处理 | ||
1.4 | MOD(number, divisor) | 对目标值除以指定数后的余数,余数的符号和除数相同 | ||
1.5 | SUM(number1, number2, …) | 计算某个目标区域中单元格数字的总和 | ||
1.6 | SUMIF(range, criteria, [sum_range]) | 在目标区域中对满足条件的单元格求和 | ||
1.7 | INT(number) | 对目标数字进行舍入处理,处理的结果是得到小于目标数的最大整数 | ||
2 | 查询和引用 | 2.1 | VLOOKUP(lookup_value, table_array, col_index_num, range_lookup) | 在给定区域的首列里查找目标数值,然后返回目标数值所在行里某一列的相关值 |
2.2 | COLUMN(reference) | 返回目标单元格或单元格区域(可返回列序号) | ||
2.3 | ROW(reference) | 返回目标单元格或单元格区域的行序号 | ||
2.4 | INDEX(array, row_num, column_num) | 按照相关条件返回目标区域里的值 | ||
2.5 | OFFSET(reference, rows, cols, height, width) | 将给定的区域作为目标引用区域,同时设定一个偏移量,然后依据该偏移量得到新的引用,最终的结果包括单元格和单元格区域的形式 | ||
3 | 文本 | 3.1 | MID(text, start_num, num_chars) | 在目标字符串中指定一个开始位置,按设定的数值返回该字符串中的相应数目字符内容 |
3.2 | LEN(text) | 计算目标字符串中的字符数 | ||
3.3 | LEFT(text, num_chars) | 从字符串的左侧开始,按照指定的数值返回相应数目的字符内容 | ||
3.4 | RIGHT(text, num_chars) | 从字符串的右侧开始,按照指定的数值返回相应数目的字符内容 | ||
4 | 统计 | 4.1 | COUNT(value1, value2, …) | 计算区域中包含数值的单元格数目 |
4.2 | COUNTIF(range, criteria) | 在目标区域中统计满足预设条件的单元格数目 | ||
4.3 | AVERAGE(number1, [number2], …) | 返回参数的算术平均值 | ||
5 | 日期和时间 | 5.1 | YEAR(serial_number) | 返回给定日期所属的年份 |
5.2 | MONTH(serial_number) | 返回给定日期所属的月份 | ||
5.3 | DAY(serial_number) | 返回给定日期所属的天数 | ||
5.4 | NOW() | 显示系统当前的日期和时间 | ||
5.5 | TODAY() | 显示系统当前的日期 | ||
5.6 | NETWORKDAYS(start_date, end_date, holidays) | 计算两个给定参数间的工作日数值 | ||
5.7 | EOMONTH(start_date, months) | 给定一个起始日期,再辅以一个指定数字,将起始日期的月份向前或向后拨运该数字大小距离,最后返回所得月份的最后一天日期 | ||
5.8 | WEEKDAY(start_date, return_type) | 根据返回规则返回某个日期对应的星期数 | ||
6 | 逻辑 | 6.1 | IF(logical, test, value if true, value if false) | 用于对目标区域进行判断,返回真假逻辑值,据此输出相应的结果 |
6.2 | AND(logical1, logical2, …) | 对指定区域内的逻辑值进行判断,当逻辑值都为 True 时返回 True,否则返回 False | ||
6.3 | OR(logical1, logical2, …) | 对指定区域内的逻辑值进行判断,当逻辑值任意一个为 True 时返回 True,否则返回 False | ||