当前位置: 首页 > 新闻 > 信息荟萃
编号:5105
数据化分析Python实战.pdf
http://www.100md.com 2020年11月2日
第1页
第8页
第16页
第23页
第41页
第159页

    参见附件(10476KB,228页)。

     数据化分析 Python 实战是林骥2008年开始从事数据化分析工作,并于2012 年在微博和博客上?分享?的?些学习?得和?作经验,而编写的文档,方便想学习python的朋友。

    前言

    当时的想法是:对客观真实的数据运?恰当的?法和?具进?科学有效地分析,简单来说就是:数据(客观、真实)化(?法、?具)分析(科学、有效)。

    经过?年的实践和思考,我给「数据化分析」赋予了新的内涵:?数据化解难题,让分析更加有效。数据是能够?来解决实际问题的增强回路,我称之为「数据化分析闭环系统」,?我所要做的?作,就是让这个闭环系统运转得更加有效。

    因为数据的最终作?是?来解决实际问题的,?对数据运?有效的分析?法,则是解决问题的关键所在。拥有数据的?,未必是最有价值的?。我相信,那些能够培养数据进?创新,从?改善数据,利?数据进?决策,从?化解难题的?,将成为更有价值的?。

    在?数据时代,随着数据的不断积累,如何?数据拼成?张理想的蓝图,拥有分析思考的能?,就显得尤为重要。?些表?上好像与数据?关的事物,其实也可以量化。?如说,健康、幸福感、满意度、信息安全、投资?险、品牌价值等,都可以找到量化的?法。?论做什么?作,都有可能利?数据化解难题。合理地运?数据,并进?有效的分析,往往能帮助你作出正确的判断和明智的决策。我们并不缺少数据,我们缺少的是有效利?数据的思维,以及动?分析实战的能?。

    数据化分析的前提是客观、真实,不能随?所欲,更不能伪造、扭曲数据。数据的客观、真实性要靠?的道德和商业的原则来保证。数据化分析不是把数据收集整理好就完成任务了,数据化分析需要运?恰当的?法和?具,对整理好的数据进?科学有效地分析,从?提供有理、有据、有可操作性的咨询和指导意?。

    数据化分析的步骤

    (1)收集整理客观真实的数据;

    (2)运用恰当的方法和工具;

    (3)对整理好的数据进行科学有效地分析。

    2016年,我开始在微信公众号更新文章,公众号的名字叫「林骥」,除了发表一些数据分析相关的文章以外,还会发表一些人工智能、读书笔记和思考感悟等系列的文章。

    2020年,我把发表的一些数据分析相关文章整理成,取名为《数据化分析Python实战》,分成思维篇、工具篇和展现篇。

    假如我们把自己比作一件产品,活成一个算法,用数据去分析自己在市场上的竞争力,不断升级迭代,更好地适应市场的需求,就能更好地认识自己,从而找到合适自己的定位,帮助我们获得成长。

    为了沉淀有价值的知识,结交有智慧的朋友,我创建了一个的知识星球。这个知识星球的定位,主要包括:

    1,分享自己思考感悟。内容会涉及:数据分析、人工智能,以及其他我认为有价值的知识。

    2,分享一些我认为有价值的文章或资源。

    3.和大家一起营造很好的互助氛围,你可以在星球里面提问,大家互帮互助,给你带来更大的价值。

    数据分析的目标思维

    对于数据分析工作而言,如果没有目标,不仅工作结果可能没有意义,甚至有可能让人误入歧途。

    比如说,有的数据分析师,每天重复着制作报表的工作,没有对数据进行思考和分析,不知道数据分析的目标是什么,逐渐沦为「报表制作的机器」,让自己的职业前途堪忧。

    数据分析的目标不是炫技。有些人掌握了一些数据分析工具以后,就像手里拿着锤子,看什么数据像钉子,恨不得一锤子砸下去。有时候,看似高深莫测的分析方法,其实未必能解决实际的问题。有时候,看似花里胡哨的分析图表,其实没能有效地传递信息。有时候,看似复杂庞大的分析工具,其实很多时候用Excel就能轻松解决。有时候,看似长篇大论的分析报告,其实用简短的一段文字就能说清楚。

    只有明确目标,才不会迷失方向,就像导航软件,如果没有设置目的地,那么它是没法告诉你路线图的。

    数据化分析Python实战截图

    版本:V2.6

    本电?书不定期进?更新,在公众号「林骥」的后台回复?个数字「 1 」, 注意只有?个数字 1,没有

    其他符号和?字,即可下载最新版的《数据化分析 Python 实战》PDF 电?书。

    前?

    你好,我是林骥。

    2008 年,我开始从事「数据化分析」。

    2012 年,我在微博和博客上?分享??的?些学习?得和?作经验,当时的想法是:对客观真实的数

    据运?恰当的?法和?具进?科学有效地分析,简单来说就是:数据(客观、真实)化(?法、?具)

    分析(科学、有效)。

    经过?年的实践和思考,我给「数据化分析」赋予了新的内涵:?数据化解难题,让分析更加有效。数

    据是能够?来解决实际问题的增强回路,我称之为「数据化分析闭环系统」,?我所要做的?作,就是

    让这个闭环系统运转得更加有效。

    因为数据的最终作?是?来解决实际问题的,?对数据运?有效的分析?法,则是解决问题的关键所

    在。拥有数据的?,未必是最有价值的?。我相信,那些能够培养数据进?创新,从?改善数据,利?

    数据进?决策,从?化解难题的?,将成为更有价值的?。在?数据时代,随着数据的不断积累,如何?数据拼成?张理想的蓝图,拥有分析思考的能?,就显得

    尤为?要。?些表?上好像与数据?关的事物,其实也可以?化。?如说,健康、幸福感、满意度、信

    息安全、投资?险、品牌价值等,都可以找到?化的?法。?论做什么?作,都有可能利?数据化解难

    题。合理地运?数据,并进?有效的分析,往往能帮助你作出正确的判断和明智的决策。我们并不缺少

    数据,我们缺少的是有效利?数据的思维,以及动?分析实战的能?。

    数据化分析的前提是客观、真实,不能随?所欲,更不能伪造、扭曲数据。数据的客观、真实性要靠?

    的道德和商业的原则来保证。数据化分析不是把数据收集整理好就完成任务了,数据化分析需要运?恰

    当的?法和?具,对整理好的数据进?科学有效地分析,从?提供有理、有据、有可操作性的咨询和指

    导意?。

    数据化分析的步骤:

    (1)收集整理客观真实的数据;

    (2)运?恰当的?法和?具;

    (3)对整理好的数据进?科学有效地分析。

    2016 年,我开始在微信公众号更新?章,公众号的名字叫「林骥」,除了发表?些数据分析相关的?

    章以外,还会发表?些??智能、读书笔记和思考感悟等系列的?章。

    2020 年,我把发表的?些数据分析相关?章整理成 PDF 电?书,取名为《数据化分析 Python 实

    战》,分成思维篇、?具篇和展现篇。

    假如我们把???作?件产品,活成?个算法,?数据去分析??在市场上的竞争?,不断升级迭代,更好地适应市场的需求,就能更好地认识??,从?找到合适??的定位,帮助我们获得成?。

    为了沉淀有价值的知识,结交有智慧的朋友,我创建了?个免费的知识星球。这个知识星球的定位,主

    要包括:

    1. 分享??思考感悟。内容会涉及:数据分析、??智能,以及其他我认为有价值的知识。

    2. 分享?些我认为有价值的?章或资源。

    3. 和?家?起营造很好的互助氛围,你可以在星球??提问,?家互帮互助,给你带来更?的价值。

    欢迎你也加?这个免费的知识星球,?家互帮互助,希望能给你带来真正有价值的帮助。

    如果你在?数据化解难题的过程中,遇到???法解决的问题,可以前往免费的知识星球「林骥-数据化

    分析」进?提问。

    祝你在知识星球??,度过?段愉快?充实的时光。

    ·录

    前?

    ·录

    思维导图

    ·、思维篇

    第 1 章 数据化分析的思维

    1.1 数据分析的?标思维

    1.2 数据分析的 8 种思维

    1.2.1 对?思维

    1.2.2 细分思维

    1.2.3 溯源思维

    1.2.4 相关思维

    1.2.5 假设思维

    1.2.5 逆向思维

    1.2.7 演绎思维

    1.2.8 归纳思维

    第 2 章 数据化分析的基础

    2.1 数据分析的?法和模型

    2.2 分析数据指标的 5 个步骤

    2.3 数据分析的 6 个阶段

    2.4 数据分析的 8 个状态

    第 3 章 数据化分析的精进3.1 数据分析学习指南

    3.2 如何提?数据敏感度?

    3.3 如何?数据解决实际问题?

    3.4 精准搜索资料的 6 个技巧

    3.5 ?效学习的 6 个?法

    3.6 ?效学习的 36 种思维

    3.7 数据分析的精进之道

    ·、?具篇

    第 4 章 数据化分析的?具

    4.1 ??剑: Excel

    4.2 孔雀翎:Power BI

    4.3 碧??:SQL

    4.4 多情环:SPSS

    4.5 霸王枪:SAS

    4.6 离别钩:R

    4.7 箱?:Python

    第 5 章 数据化分析 Python 实战

    5.1 读取数据

    5.2 清洗数据

    5.3 操作数据

    5.4 转换数据

    5.5 整理数据

    5.6 分析数据

    第 6 章 数据化分析 Python 案例

    6.1 ?扑克牌演示数据分析

    6.2 ? Python 分析新型肺炎

    三、展现篇

    第 7 章 数据化分析的展现

    7.1 数据展现的 8 个原则

    7.2 数据展现的图表选择

    7.2.1 类别?较

    7.2.2 时间趋势

    7.2.3 占?构成

    7.2.4 联系和关系

    7.2.5 分布

    7.2.6 增强

    7.2.7 单值

    7.2.8 图表设计提示

    7.3 数据展现的 6 种?法

    7.3.1 将指标值图形化

    7.3.2 将指标图形化

    7.3.3 将指标关系图形化

    7.3.4 将时间和空间可视化

    7.3.5 将数据进?概念转换

    7.3.6 让图表「动」起来

    7.4 数据展现的 10 个准则

    7.4.1 明确数据展现的?标

    7.4.2 通过对?来反映问题

    7.4.3 提供业务背景7.4.4 从总体到部分

    7.4.5 联系实际场景

    7.4.6 ?标注消除歧义

    7.4.7 整合图标与描述

    7.4.8 增加可读性和?动性

    7.4.9 允许使?表格

    7.4.10 形式服从功能

    第 8 章 ? Python 进?数据可视化

    8.1 图表元素

    8.2 折线图

    8.2.1 套路

    8.2.2 改进

    8.2.3 动态

    8.3 组合图

    8.4 瀑布图

    8.5 矩阵图

    8.6 ?弹图

    8.7 柱形图

    8.8 ?泡图

    8.8.1 矩阵

    8.8.2 动态

    8.9 斜率图

    8.10 条形图

    8.10.1 分组

    8.10.2 堆叠

    8.10.3 动态

    8.11 箱线图

    8.12 散点图

    8.13 雷达图

    8.14 帕累托图

    第 9 章 ? Python 制作数据化分析报告

    9.1 ? Python 制作分析报告模板

    推荐书单

    推荐资源

    图表?站

    作者简介

    思维导图

    ·、思维篇

    第 1 章 数据化分析的思维

    1.1 数据分析的?标思维

    对于数据分析?作??,如果没有?标,不仅?作结果可能没有意义,甚?有可能让?误?歧途。

    ·如说,有的数据分析师,每天?复着制作报表的?作,没有对数据进?思考和分析,不知道数据分析

    的?标是什么,逐渐沦为「报表制作的机器」,让??的职业前途堪忧。

    数据分析的?标不是炫技。有些?掌握了?些数据分析?具以后,就像??拿着锤?,看什么数据像钉

    ·,恨不得?锤?砸下去。有时候,看似?深莫测的分析?法,其实未必能解决实际的问题。有时候,看似花?胡哨的分析图表,其实没能有效地传递信息。有时候,看似复杂庞?的分析?具,其实很多时

    候? Excel 就能轻松解决。有时候,看似?篇?论的分析报告,其实?简短的?段?字就能说清楚。

    只有明确?标,才不会迷失?向,就像导航软件,如果没有设置?的地,那么它是没法告诉你路线图

    的。既然?标如此?要,那么应该如何明确数据分析的?标呢?

    下? 3 个步骤,供你参考。

    1. 正确地定义问题

    有?说,正确地定义问题,?解决问题?要 100 倍。

    我认为这句话是有道理的,因为在解决问题之前,要先认清问题的本质。如果问题的定义都是错的,那

    么解决问题的?向可能就不对。

    ·如说,?明听了煎饼?妈?? 3 万的故事,??就想:为什么煎饼?妈?? 3 万?这个问题的定义,应该是关注「?? 3 万」,?不是「煎饼?妈」。也就是说,?明想的应该是「如何实现?? 3 万」,?不是「如何变成煎饼?妈」。

    2. 合理地分解问题

    把?问题分解为?问题,并遵循 MECE 原则,也就是要做到相互??、完全穷尽。

    ·如说,煎饼?妈如何实现?? 3 万?这是?个?问题,可以进?细分。因为收?等于订单数乘以单

    价,订单数和单价是相互??、完全穷尽的,符合 MECE 原则,所以能把这个问题细分为:

    (1)如何实现?个?卖 5000 个煎饼?

    (2)如何实现平均每个煎饼卖 6 块钱?

    为了理解 MECE 原则,这?再举?个扑克牌的例?,?幅完整的扑克牌,分为红?、??和??王,红

    ·分为红?和?块,??分为梅花和?桃。这样划分是相互??且完全穷尽的,所以符合 MECE 原则。

    3. 抓住关键的问题

    把问题进?细分以后,可能会变成很多个问题。

    ·如说,对于?家销售型的企业来讲,如何提?营业利润?如何提?销售额?如何提?订单??如何提

    ·单价?如何提?转化率?如何提?流??如何提升?告效果?如何提?客户?复购买率?如何开发新

    品?如何节约成本?……

    当问题太多的时候,我们不能眉?胡??把抓,?要根据业务的实际情况,抓住其中关键的问题。

    根据意?利经济学家帕累托的发现,意?利 80% 的?地为 20% 的??所拥有。?们把这个发现延伸很

    多领域,在多数情况下,80% 的结果是由 20% 的原因造成的,故称之为??法则。

    ·如说,80% 的利润来?于 20% 的客户,80% 的销售来?于 20% 的产品,80% 的销售来?于 20% 的

    员?。

    为了集中时间和精?,完成更多更?要的任务,我们就要抓住 20% 的关键问题。

    ·结

    数据分析的?标,就像枪上的瞄准器,如果没有瞄准器,枪照样可以打,但是有了瞄准器,枪可以打的

    更准。

    1.2 数据分析的 8 种思维

    数据分析的思维,具有规律性和相对稳定性,它通常反映客观事物的本质属性,能够经得起时间的考

    验。培养好数据分析的思维,对我们每个?都会很有帮助。

    我总结了 8 种常?的数据分析思维,并??些?故事进?举例说明。

    1.2.1 对?思维

    在我们?常的?作和?活中,对?思维其实是随处可?的。

    ·如说,?明某次期末考试的成绩不好,英语只得了 30 分,?明的妈妈对他说:“你上次考试英语考了

    70 分,这次怎么就考得这么差?你看你的同班同学,这次都考 80 分以上。”

    从这个例?中可以看出,对?通常有两个?向,?个纵向,是指不同时间的对?,?如??明上次考试

    的成绩与这次进?对?。?个是横向,是指与同类相?,?如拿?明的同班同学进?对?。

    1.2.2 细分思维

    细分可以说?处不在,?到宇宙可以细分,?到原?核也可以细分。??的??标可以细分,某次?考

    试的成绩也可以细分。

    ·如说,?明某次考试的总成绩不好,细分?看,发现其他科?的成绩都不错,只有英语成绩特别差,只得了 30 分,从?拉低了整体的成绩。

    这个例?就是把整体考试成绩细分为具体的科?。在数据分析的?作中,细分的纬度主要包括时间、地

    区、渠道、产品、员?、客户等。杜邦分析法、?肯锡的 MECE 分析法本质上都属于细分思维。

    下?再举?个例?,假设某天销售额明显增加,如何分析销售增加的主要原因?

    ·先,可以根据数据指标的计算公式进?细分,销售额 = 销售? 单价,销售? = 客户数 成单率。

    其次,可以从不同渠道进?细分,销售额 = 渠道A的销售额 + 渠道B的销售额 + ……,以此类推。

    然后,还可以针对不同客户群进?细分,销售额 = A类客户的销售额 + B类客户的销售额 + ……,以此类

    推。

    运?这种「细分」的数据分析思维,分析对?数据的变化情况,追根溯源,从?找出引起销售额增加的

    主要原因,有针对性地给予分析建议。

    1.2.3 溯源思维

    有时候,即使运?了对?思维和细分思维,依然分析不出来结论,怎么办?

    此时可以试试溯源思维,追溯数据源的详细记录,然后基于此思考数据源背后可能隐藏的逻辑关系,或

    许会有意外的洞察。

    ·如说,?明的妈妈通过对?思维,知道了?明的考试成绩不好,通过细分思维,也知道他是英语没考

    好,但是依然不知道他当时为什么会没考好。通过跟?明谈?,详细了解他当时考试的详细情况,发现

    他当时肚?不舒服,?法集中精?答题,导致很多本来会做的题?都做错了。谈?之后,?明的妈妈对

    他表示理解,从此更加关??明的身体状况,他们之间的感情加深了,?明的成绩也变得越来越好了。

    如果不断?溯源思维去分析,那么对数据的敏感和业务的理解也能逐步加深。

    1.2.4 相关思维

    在?数据时代,核?就是相关思维,这种思维是建?在相关分析的基础上。啤酒与尿布的故事,是?个相关分析的经典案例。这个故事产?于20世纪90年代的美国沃尔玛超市中,当时沃尔玛拥有世界上最?的数据仓库系统,为了能够准确了解顾客在其?店的购买习惯,沃尔玛对其

    顾客的购物?为进?购物篮分析,想知道顾客经常?起购买的商品有哪些。

    沃尔玛数据仓库?集中了其各?店的详细原始交易数据。在这些原始交易数据的基础上,沃尔玛利?数

    据挖掘?法对这些数据进?分析和挖掘。?个意外的发现是:跟尿布?起购买最多的商品竟是啤酒。

    经过??实际调查和分析,揭示了?个隐藏在「尿布与啤酒」背后的美国?的?种?为模式:在美国,?些年轻的?亲下班后经常要到超市去买婴?尿布,?他们中有30%~40%的?同时也为??买?些啤

    酒。产?这?现象的原因是:美国的太太们常叮嘱她们的丈夫下班后为?孩买尿布,?丈夫们在买尿布

    后?随?带回了他们喜欢的啤酒。

    在?多数情况下,?旦我们完成了相关分析,??不再满?于仅仅知道「是什么」的时候,我们就会继

    续向更深层次的?向,去研究因果关系,找出背后的「为什么」。

    1.2.5 假设思维

    当我们还没有?够的数据和证据来证明某件事的时候,我们可以先?胆假设,然后再??求证,验证假

    设是否成?。

    ·如说,有?天,?明去买?果,跟买?果的阿姨之间有?段对话。

    ·明:“阿姨,你这桔?甜不甜?”

    阿姨:“甜啊,不信你试试。”

    ·明:“好,那我试?个。”

    ·明剥开?个桔?,尝了??:“嗯,不错,确实挺甜的,给我称两?。”

    这个故事只是?个简单的类?,不必深究细节。从中可以看出假设检验的基本思维过程,?先,?明提

    出假设:桔?是甜的;其次,随机抽取?个样本;然后,检验是否真甜;最后,作出判断,确认桔?是

    真的甜,所以就购买了。

    在数据分析中,假设思维的专业术语叫假设检验,?般包括四个步骤,即:提出假设、抽取样本、检验

    假设、作出判断,在这?我们就不展开去讲那些专业术语了。

    1.2.5 逆向思维

    有时候,我们需要打破常规的思维模式,从相反的?向来思考问题。我们接着讲?明的故事。

    有?次,?明去买?红柿,跟阿姨之间?有?段对话。

    ·明:“阿姨,你这?红柿多少钱???”

    阿姨:“两块五。”

    ·明挑了 3 个放到秤盘:“阿姨,帮我称?下。”

    阿姨:“??半,3 块 7 ?。”

    ·明去掉其中最?的?红柿:“做汤不?那么多。”

    摊主:“???两,3 块。”

    ·明拿起刚刚去掉的那个最?的?红柿,付了 7 ?钱,扭头就?了,让阿姨?讨苦吃……你看,运?逆向思维,有时可能会起到意想不到的效果。

    1.2.7 演绎思维

    演绎思维的?向是由?般到个别,也就是说,演绎的前提是?般性的抽象知识,?结论是个别性的具体

    知识。演绎的主要形式是「三段论」,由?前提、?前提、结论三部分组成。

    以物理学上?个常识为例。

    ·前提:?属能导电。

    ·前提:铜是?属。

    结论:铜能导电。

    从这个例?中可以看出,?前提是已知的?般原理(?属能导电),?前提是研究的特殊场合(铜是?

    属),结论是将特殊场合归到?般原理之下得出的新知识(铜能导电)。

    1.2.8 归纳思维

    归纳思维的?向与演绎正好相反,归纳的过程是从个别到?般。

    还是以?属能导电为例。

    前提:?能导电,银能导电,铜能导电,铁能导电,……

    结论:?属能导电。

    数据分析的过程,往往是先接触到个别事物,?后进?归纳总结,推及?般,再进?演绎推理,从?般

    推及个别,如此循环往复,不断积累经验。

    ·结

    数据分析的 8 种思维,分别是对?、细分、溯源、相关、假设、逆向、演绎、归纳,充分运?好这些思

    维,?论是?作,还是?活,相信都能够创造出更多的价值。

    第 2 章 数据化分析的基础

    2.1 数据分析的?法和模型

    数据分析的?法和模型众多,为了查阅?便,我做了如下分类汇总,在每个类别下?,都有若??法和

    模型的名称,我觉得可以把他当作?个索引,当我们需要对某个问题进?分析的时候,先试着从中找?

    找,然后再利?搜索引擎,去查找更详细的资料,如果发现有新的?法或模型,那么把它加?进来,形

    成?个越来越丰富的数据分析库。

    对于数据分析?法,按研究?向进?分类如下。

    产品研究 ABC分析 | 相关分析 | 对应分析 | 判别分析 | 结合分析 | 多维尺度分析

    品牌研究

    相关分析 | 聚类分析 | 判别分析 | 因?分析 | 对应分析 | 多维尺度分析

    价格研究

    相关分析 | PSM价格分析

    市场细分

    聚类分析 | 判别分析 | 因?分析 | 对应分析 | 多维尺度分析 | Logistic回归 | 决策树

    满意度研究

    相关分析 | 回归分析 | 主成分分析 | 因?分析 | 结构?程

    ·户研究

    相关分析 | 聚类分析 | 判别分析 | 因?分析 | 对应分析 | Logistic回归 | 决策树 | 关联规则

    预测决策

    回归分析 | 决策树 | 神经?络 | 时间序列 | Logistic回归

    对于数据分析模型,按维度进?分类如下:

    ·维线性分析模型

    AARRR | AISAS | ??法则 | 产品?命周期 | 漏?分析 | RARRA | ?户?命周期

    ·维矩阵分析模型

    安索夫矩阵 | BCG三四规则 | 波?顿矩阵 | EFE | Graveyard | ?业吸引? ROSRMS | SPACE | SWOT

    | 战略钟

    多维空间分析模型

    波特五?分析 | KANO | PEST | RFM | SCP

    其他分析模型

    5W2H | ABC分类 | 杜邦分析 | 雷达图 | MECE | ?肯锡七步分析法 | ?肯锡7S模型 | PDCA | VCA |

    ·?图

    上述模型除了可以按维度进?划分,还可以按宏观、中观、微观、定性、定?、?、货、场等?度进?

    分类。

    2.2 分析数据指标的 5 个步骤 数据分析,应该多思考业务的实际情况,对数据指标进?解读,从?把有价值的信息提炼出来,解决业

    务的实际问题。

    这个过程虽然看起来挺简单的,但是却需要反复、?期的「刻意练习」才能逐渐熟练掌握。

    刻意练习指的是有?的的训练,是?种不断改进的做法,是?个不断积累的过程,积跬步以致千?。刻

    意练习的过程必须专注,需要认真地去思考,并且及时验证和反馈。

    ·如,数据分析思路的训练,?先应该专注于解决问题,其次要去思考问题到底是什么,然后?数据进

    ·验证,搞清楚问题的真正原因,从?提出解决?案的建议,最后付诸?动,并跟踪反馈?动的效果。

    在现实的?作和?活环境中,数据指标发?变化是?件很常?的事,?分析数据指标,应该是数据分析

    师的看家本领。那么具体应该如何分析数据指标的变化呢?可以参考下?数据分析的思路。

    1. 确认数据源是否正确?

    如果数据源本身不对,那么应该尽快修正数据源。实际上,因为数据源不对,导致数据指标异常变化的

    情况?常多,?定要先确认数据没有错,不要报假警。确认数据源正确?误后,接下来才开始进?数据

    分析。

    2. 判断数据变化的程度如何?

    这是确认问题的轻?。常?的指标,?如销售额,其波动是有?定范围的,根据历史经验,可以预设好

    变化的预期值。如果是轻微的变化,在正常的波动范围之内,那么通常可以不?深?分析。假如数据变

    化?较?,超出我们的预期,那么需要做进?步的分析。对于数据严?超标的情况,需要?点跟进分

    析。

    3. 数据变化的周期如何?

    如果是?次性的变化,那么分析看看是否有持续的迹象?如果是周期性的变化,那么分析看看是否符合

    周期性的规律?与上?个周期的数据进?对?,分析判断数据变化的趋势。?如??份销售下降,看看

    是不是有春节的影响?去年的春节是不是也发?在??份?和去年同期相?的,销售是上升还是下降?

    4. 数据变化的前后发?了什么事件?

    单纯地看整体的数据,往往很难搞清楚数据变化的真实原因,但是当我们缩?范围,运?假设检验的思

    维?式,把数据变化和相关事件联系起来,?胆假设,??求证,进?深?的分析,就更容易找到问题

    的根源。所以,熟悉业务和?业知识很?要。

    事件可以细分为外部事件和内部事件,外部宏观层?的事件通常采? PEST 分析模型,其中 P 是政治

    (Politics),E 是经济(Economy),S 是社会(Society),T 是技术(Technology)。政治的影响

    可能是致命的,有可能让?业?临灭顶之灾,其他的影响更多是渐进式的。内部事件可能在短期内对快

    速改变数据指标,?如当绩效考核?案发???调整时,KPI 指标可能很快就会发?变化。?般数据分

    析的原则是:剧烈变化看政策,短期波动找内因,?期异动找外因。

    5. 数据变化的细分纬度有哪些?对于?般的商品销售业务来讲,通常包括「?、货、场」三个细分纬度,其中「?」包括员?和客户,「货」主要是指销售的商品,「场」是指销售的场景,?如线下的?店、线上的?店。

    ·如某天整体销售额上涨了20%,是哪些员?、哪些客户、哪些商品、哪些渠道在上涨?上涨的主要原

    因有哪些?把表现?较好的标出来,总结成功的经验,其他表现不佳的可以学习,未来寻找解决?案时

    也可以参考借鉴。

    ·结

    数据变化是很正常的现象,发现数据指标的变化以后,?先要确认数据本身的正确性,然后再去分析数

    据变化的程度、周期、相关事件、细分纬度等情况。

    不断刻意练习这个过程,数据分析的思路就会逐渐打开,很多问题其实也就能迎刃?解了。

    如果能在数据分析这个细分领域成为专家,把每?个环节做到极致,帮助别?解决实际问题,并??做

    好传播?作,把经验和技能传承下去,让??的?作价值放?,实现利他和利?的双赢,将来回???

    的?涯,也许感觉会很不?样。

    2.3 数据分析的 6 个阶段

    1、发?了什么?(信息)

    2、发?了多少次?(报表)3、为什么会发??(规则)

    4、接下来会发?什么?(预警)

    5、我们该怎么办?(?动计划)

    6、我们能够提供什么?(建议、模型)

    ·古代的?物形象做?喻,前两个阶段像账房先?,中间两个阶段像师爷,最后两个阶段像军师。

    2.4 数据分析的 8 个状态

    看到刘思喆?师写的?篇?章:数据分析师的?存?记,其中把数据分析的?作流程分成 8 个状态,我

    觉得很有启发。

    下?谈?谈我对这 8 个状态的理解和思考,为了?便理解,我修改了原?中?些状态的名称。

    1. 新的需求

    数据分析?作流程的第 1 个状态,就是忠实地记录新的需求,纯粹地站在需求?的?度,不加任何评判

    地收集原始的需求。

    这个状态借鉴了 ORID 焦点讨论法的第 1 步,也就是真实地记录客观的事实。

    关于 ORID 焦点讨论法,我从?上查了?些相关资料,看到下?这个例?,感觉?较恰当。假设昨天晚

    上在下班的路上,我遇到?条狗(O 事实),当时我很害怕(R 感受),?想应该怎么办(I 思考),为了避免被狗咬,我最终决定绕路?(D 决定)。

    2. 需求确认

    需求确认是分析任务成败的关键,针对不同的情况,应该采取不同的对策。

    第 1 种情况:需求??法清楚描述问题。

    刘思喆?师说,这类需求?的专业技能不合格,会祸害上下游,「fire」掉就可以了,绝对不可以?

    软。

    关于「fire」这个英?单词,有「开除」的意思,不过我理解刘思喆?师在这?表达的应该是「拒

    绝」。

    对于?般的数据分析师??,需求?可能就是??的?板,恐怕没有「开除」的勇?。遇到这种情况,我个?建议加强沟通交流,主动多问?问具体情况,搞清楚需求?的真正意图。

    第 2 种情况:需求?将很多问题混杂在?起。

    这种情况?常普遍,数据分析师需要应? MECE 原则,帮助需求?梳理业务,变成相互??、完全穷尽

    的问题,并了解其中的主要?盾和次要?盾。

    第 3 种情况:需求??法和数据进?映射。

    这种情况也相对?较普遍,?般企业是通过「??前置」来缓解这个问题,?如设置「产品经理」的岗

    位??。不过有的时候,前置的??可能不合格,这就需要数据分析师在「数据确认」环节给予专业的

    建议。

    第 4 种情况:需求?提出了错误的数据需求。

    想象?下,数据需求本身就不对,你作为数据分析师,居然漂亮地执?完成了……结果需求?不满意,?提了?遍,后?可能还有第三遍……最终需求?可能很不满意,数据分析师吃哑巴亏。

    当出现这种情况时,建议数据分析师在执?之前,先进?合理的沟通,指出数据需求本身的不当之处。

    第 5 种情况:需求??法预判可能的分析结果。

    这种情况很正常,毕竟很难碰到?常完美的需求?。我认为此时数据分析师应该多?些包容和理解,多

    站在对?的?度看问题,??先学会预判,然后再帮助对?学会预判,为对?排忧解难。

    假如遇到需求?不仅掌握业务和数据之间的关系,?且懂得利?数据分析的结果,来指导下?步的?

    动,那么数据分析师应该好好珍惜。

    3. 数据确认

    当需求确认清楚之后,接下来需要确认数据源,可能会遇到 3 个问题。

    第 1 个问题:期望的数据没有存储。

    作为数据分析师,如果你能帮助改善这个问题,让企业的数据更加完备,那么你的影响?将会得到提

    升。

    第 2 个问题:数据分散在不同的位置。

    在传统企业,这个问题?常普遍,可能还没有建?数据仓库。对于互联?企业,这个问题体现了数据仓

    库设计的不完备。如果不是经常性的问题,临时解决即可。如果是经常性的问题,建议数据分析师主动了解底层的数据逻

    辑,编写?动化的代码,在可能的情况下,交付给数据仓库团队。

    第 3 个问题:数据源错误。

    这个问题?常致命,如果数据源不对,后?的分析结果可能造成误导,让需求?做出错误决策,后果不

    堪设想。

    所以,数据分析师提?数据敏感度也很?要,在做数据分析之前,?定要先确认?下,数据源是正确?

    误的吗?

    4. 实现中

    在需求实现的过程中,数据分析师要管理好??的分析代码。

    以 Python 为例,尽?使? Numpy、Pandas、Matplotlib 等?较成熟的包,? Git 做好代码的版本控

    制,特别注意代码注释和提交信息的可读性和完整性,让数据处理的每个步骤都清晰易懂。

    另外,配合使? Jupyter Lab 之类的?具,能??提升数据分析的?作效率。

    ·??,我们要把好的经验和?法,沉淀为固定的流程步骤,实现?作的流程化。?如?个数据报表,?怎样的格式和规范,读者容易抓住其中最有价值的信息?

    另???,我们还要实现流程的?具化。因为总有?会「偷懒」,总有?会逾越流程,总有?会偷偷地

    绕过流程。所以,我们要适应??具来辅助流程的执?。

    如果流程?具?起来不适应,怎么办?

    华为早年引?集成产品开发 (简称 IPD)的流程,?家刚开始也不适应。

    任正?说了?句话:先僵化、后优化、再固化。

    5. 交付

    突出主要分析结论,这是数据分析交付的?要内容。

    如果分析没有结论,就不能称之为交付。

    交付的内容,包括?字、表格、图形等要素。?字表述要条理清晰,表格制作要标准规范,数据可视化

    的图形要选择合理。

    6. 复盘

    很多数据分析?作,最终停留在「交付」这个状态,数据分析师交付结果之后,往往没有去跟进后续的

    效果情况,没有对分析的价值进?判断,没有进?复盘总结。

    交付之后,不妨思考?下,我们通过数据分析,帮助需求?做出了哪些正确的决策?给企业带来了哪些

    价值?与当初预期的?标相差多少?关键因素有哪些?假如?新再做?遍,怎么做才能做得更好?

    在复盘总结的过程中,可以锻炼数据分析师对业务的理解能?和对价值的预判能?。

    7. 等待

    当你发现?前还不具备分析的条件时,那么可以选择等待?下。

    ·如说,当需求还没有确认清楚的时候,应该等待需求?有空的时候,把需求沟通确认清楚。当缺少必

    要的数据源时,因为巧妇难为??之炊,所以也需要耐?等待。当然,在等待的时候,可以先思考?下?致的分析?向,以便让后?的实现过程更加快捷。

    8. 拒绝

    当需求肯定?法实现的时候,要明确地予以拒绝,不要给?模棱两可的答复,此时要避免让需求?有很

    ·的期待,结果因实现不了?导致失望。

    为了避免被贴上被动、低价值、?复劳动的标签,数据分析师要主动完善??的?作流程,优化??的

    ·作状态。

    最后,我把数据分析的 8 个状态之间的流转,??张流程图串联了起来。

    第 3 章 数据化分析的精进第 3 章 数据化分析的精进

    3.1 数据分析学习指南

    如何学习数据分析?做数据分析师需要掌握哪些技能?有什么学习路径?

    1、学习?法

    知识有时候是相通的,?对?个很难理解的东?,不妨换个纬度想?想,或许就豁然开朗了。如今?络

    资源?常丰富,提炼好的关键词,善?搜索引擎,很多问题都能找到多种解决?案。

    当遇到难题的时候,在充分思考的基础上,多提问。如果是问别?,应注意提问的技巧,把问题准确地

    描述清楚。如果是问??,推荐使? 5W2H 分析法,?叫七问分析法,简单实?。

    What:是什么??的是什么?做什么?作?

    Why:为什么要做?可不可以不做?有没有替代?案?

    Who:谁?由谁来做?

    When:何时?什么时间做?什么时机最适宜?

    Where:何处?在哪?做?

    How :怎么做?如何提?效率?如何实施??法是什么?

    How mutch:多少?做到什么程度?数?如何?质??平如何?费?产出如何?

    问题解决后,?励多分享,在分享中学习和巩固提?,同时能帮助别?,提???的影响?。分享的?

    法可以包括公开学习笔记、发表微信公众号?章、给公司同事讲解、参与社群讨论、制作视频课程等

    等。

    2、学习内容

    数据分析的基础概念主要是?些统计学的相关知识,业务往往是在动态变化的,对业务逻辑的理解也应

    该与时俱进,积极与懂业务的?沟通交流。宏观的分析思维是基本相同的,「对?、细分、溯源」的分

    析?法通常在各种分析场景都适?。?络上有??数据分析?具的学习资源,利?好数据分析?具,往往能够事半功倍,俗话说的好:「磨

    ·不误砍柴?」,但是要注意灵活运?,不能把时间花在磨?背上,?应该把时间花在磨?刃上。数据

    分析是为业务服务的,?点是要满?业务的需求,所以理解业务?常?要。

    3、学习过程

    数据分析需要学习的内容可以很多很多,?且数据分析?具也在不断推陈出新,如果每个领域都深?学

    习,恐怕?辈?都学不完。

    下?是?张 IBM Watson 执?架构师 Swami Chandrasekaran 绘制的图?:

    MetroMap to Data Scientist

    它就像?个城市的地铁图,总共有10条线路,它们分别是:

    1. 基础原理(例如:矩阵和线性代数等)

    2. 统计学(例如:描述统计和?叶斯理论等)

    3. 编程(例如:Python和R等)

    4. 机器学习(例如:决策树和神经?络等)

    5. ?本挖掘?然语?处理(例如:?持向?机和关联规则等)6. 数据可视化(例如:D3.js和Tableau等)

    7. ?数据(例如:Hadoop和MongoDB等)

    8. 数据获取(例如:数据调查和ETL等)

    9. 数据清理(例如:主成分分析和分层抽样等)

    10. 常??具(例如:Excel和Python等)

    每条路深??下去都不容易,很少有?能精通其中多个领域。以上这些还只是硬技能,事实上,职场中

    更?要的是软技能。根据领英的经济图谱团队发布的《2018新兴?作岗位报告》,职场最?的技能缺?

    是软技能。

    ·头交流、领导?和时间管理等,就属于软技能,软技能?乎占据了技能缺?的?半。报告建

    议,职场??需要在快速变化的?作环境中,学习并保持软技能,因为拥有这些技能的?才具备

    更?的职场优势。。

    写作和演讲也是?常?要的软技能,?且这些能?都是进??境的。我觉得应该从?身的实际情况出

    发,不可能??俱到,但可以树?终身学习的理念,先熟悉?些基本概念和业务逻辑,确?数据分析的

    ·标,逐步培养数据分析思维,再利?数据分析?具去实现?标,不断积累数据分析的实践经验,从?

    丰富??的数据分析知识体系。

    3.2 如何提?数据敏感度?

    我们从?个故事说起。

    1. 知道数据背后的信息

    有位卖煎饼的?妈,与顾客争执时说了?句:“我?? 3 万,怎么会少你?个鸡蛋?!”

    看到这句话,对数据?较敏感的?,可能会想,煎饼?妈?? 3 万,真的有这么多吗?假设煎饼平均 6

    块钱?个,那么?个?要卖 5000 个,按 30 天计算,平均每天要卖出 167 个,再假设流?转化率为

    1.67%,那么平均每天经过摊位的?流??约是 10000 ?,经过观察测算,在?流??的地铁?,平均

    每天经过摊位的?估计是能够达到 10000 ?的。

    我们说?个?的数据敏感度?,通常是指这个?能够快速地知道数据背后的信息。

    2. 对业务有深刻的理解

    从?个数据出发,引申出来?连串的数据,其中隐含了很多种假设,这需要对业务有深刻的理解,才能

    做出合理的判断。

    对于?个外?来讲,恐怕很难判断假设数据的合理性。

    ·如说,?个对煎饼?业完全陌?的?,不知道煎饼的价格,也不知道各个地区的价格差异,更不知道

    流?转化率是多少,数据敏感度也就?从谈起。

    不要以为业务很简单,其实真正的业务数据分析有很?的?槛,这个?槛并不是分析?具的使?,?是

    对业务的深刻理解。还是以卖煎饼为例,如果你从「?、货、场」等?度去理解这个业务:煎饼的消费?群主要有哪些?煎

    饼的原材料的成本是多少?原材料从哪?采购更实惠?煎饼销售的价格是否合适?煎饼?味的欢迎程度

    如何?在什么地段卖煎饼的?意更好?竞争对?的情况是怎样的?……

    当你对业务的关键信息都很熟悉以后,看到?个相关数据,?然?然就会产??些想法和?解,相应

    地,对数据也就会更加敏感。

    3. 发现关键指标的异常

    我在知乎上看到?篇?章,其中关于零售管理的指标有 109 个,?对这么多指标,你没有必要全部记

    住,只需要记住关键的?个指标即可。

    ·如说,销售收? = ?流? 转化率 客单价,其中转化率是?个关键指标,?般都在 1% 到 3% 之

    间,但某?天的转化率为 10%,那么这就属于异常数据,需要快速识别出来,并分析产?异常的原因。

    通过加深对业务的理解,不断积累经验,知道关键指标的正常范围,以及关键指标之间的相互关系,这

    将有助于提?数据度。

    4.追问数据的本质

    丰?汽?公司有?种「5 why 分析法」,就是对?个问题点,连续? 5 个「为什么」来追问,以找到问

    题的根本原因。

    举个例?:

    ★ 问题?:为什么煎饼?妈?? 3 万?

    答案?:因为煎饼?妈?个?能卖 5000 个煎饼。

    ★ 问题?:为什么煎饼?妈?个?能卖 5000 个煎饼?

    答案?:因为平均每天能卖出 167 个煎饼。

    ★ 问题三:为什么平均每天能卖出 167 个煎饼?

    答案三:因为平均每天经过摊位的?流??约有 10000 ?。

    ★ 问题四:为什么平均每天经过摊位的?流??约有 10000 ??

    答案四:因为摊位摆在?流??的地铁?。

    ★ 问题五:为什么把摊位摆在?流??的地铁??

    答案五:因为?流??的地铁?来来往往的?多,?意才能好。

    经过连续五次不停地问「为什么」,知道?意的本质是流?。

    5. 预测数据的趋势

    根据历史的数据,预测未来数据变化的趋势,这是?件很有价值的事,也是提?数据敏感度的?个有效

    ·法。

    ·如说,你可以尝试预测下个?的销售收?,等到下个?结束时,再分析对?你的预测值与实际值的差

    异情况,找出差异的原因,想办法让??的预测的准确率越来越?。在预测和分析复盘的过程中,你可能会发现,?些促销活动对销售收?的影响。

    ·如说,煎饼?妈有?天搞促销活动,买?个煎饼,送?瓶?奶,结果当天销售收??平时增加 10%,但是当活动结束后,销售收??恢复到了正常?平。

    经过总结,你得出经验:短期的促销活动?般不会带来?期趋势的改变。

    从此以后,当你看到某个指标具有?期趋势的时候,就不会把原因简单地归为某个短期的促销活动,这

    也是对数据敏感的?种体现。

    3.3 如何?数据解决实际问题?

    我在做数据分析的时候,经常提醒??,要多想?想,为什么做这个数据分析?不要陷?使??具的泥

    潭?不能?拔,不要为了做图表?做图表,不要为了写报告?写报告。

    数据分析的?具只是实现?标的?段,我们可以利??具去解决实际问题,特别是解决那些对业务有关

    键影响的问题,?数据去让业务发展得更好。

    不要只是把数据做成图表,就直接提交上去,要站在业务的?度去思考,如何才让业务发展得更好,?

    客观的、合乎逻辑的?式说明:(1)客观情况是什么?What

    (2)为什么会是这样?Why

    (3)将来应该怎么做?How

    ·本的数据分析实战专家「柏?吉基」写过?本书:《如何?数据解决实际问题》,我觉得书中有些相

    关的知识值得学习。

    1. 解决问题,你需要「流程」

    ·先,有了流程,才能避免?到数据就?即动?,却总是在原地打转的情况。

    解决问题的流程,从「明确?标」开始,然后找到「原因」,知道下?步需要采取哪些?动。

    ·如说,为了提?发货效率,可以整理从「接到订单」、到「确认库存」、再到「联系顾客」和「提示

    发货」、最后到「发货」的流程图,分析每?个阶段的效率情况。

    再?如说,为了防?利润继续减少,可以?「杜邦分析法」,针对关键指标进?假设分析。为了防?销

    售业绩继续下滑,可以?「4 P 营销理论」的框架,从产品、渠道、促销、价格的?度提出假设,找到

    问题的关键点。

    对领导布置的任务,不要就事论事地只看任务本身,要留意「任务背后的诉求」,试着从?出???两

    个级别的?平进?思考,避免??的视?过于?窄,培养??扩展思路的能?。

    对于只看数据分析报告的?板来说,他们看?的不是数据分析的?法和?具,?是结论。?板不是要看

    数据分析师的「炫技」,?是要看数据分析师提出的建议能否解决实际的问题。

    2. 分解数据,找到「问题的关键」

    在明确?标并?致把握现状之后,开始进?提出假设、确定问题关键的阶段。

    那么,具体应该如何找到「问题的关键」呢?

    ·如说,销售额可以分解为销售数?与平均单价的乘积,销售数?可以分解为新客户的购买数?和?客

    户的购买数?,对于?客户,再次选择「回头客」?例作为「客户忠诚度」,从产品、?户年龄、职

    业、性别、时间等维度进?对?分析,最终找到影响问题的关键。

    这?再举?个例?,林骥以前? Excel 做过?个动态杜邦分析模型,其中体现盈利能?的指标:销售净

    利率 = 净利润 销售收?,净利润 = 销售收? - 全部成本 + 其他利润 - 所得税,这样把关键指标?层?

    层地进?分解,结合对?思维,如果某个数据的变化?较异常,那么就可以进?步深?地进?分析,从

    ·找到关键的影响因素。

    3. 采?交叉视点,锁定「原因」

    在实际?作中,很多情况是,虽然通过细致?微地分析,我们知道了现状,但是,到了锁定原因的阶

    段,却??主观的?解,来代替客观的事实。

    能否?数据说话,会导致后?的?作?法截然不同。

    在解决实际问题的过程中,知道「是什么」固然?要,但更?要的是,还要知道「为什么」和「怎么

    办」。很多数据分析?作,?直停留在「是什么」这个阶段,是因为思维被限制在单个维度的范围之

    内。

    为了打开数据分析的思路,我们可以运?「相关思维」,找到对最终?标具有关键影响的原因。

    ·如说,针对「销售额」这个?标,找出「顾客满意度」、「降价」、「产品质?」等可能影响的因

    素,分析这些因素与?标的相关程度,从?得知对销售额产?剧烈影响的原因。需要主要的是,相关关

    系并不等于因果关系。

    4. 制定对策,要依据「?程式」

    了解相关程度的??,对锁定原因?常有效,但是只靠相关分析,却?法知道这个原因对?标产?的影

    响有多?。

    领导可能会问:那么具体要采取哪些措施,要做到何种程度呢?

    相关分析归根到底还只是知道「为什么」,?并不知道「怎么做」。

    通过回归分析,可以将 2 个数据之间的相关关系,表现为具体的公式。

    ·如说,为了提?某设施的使?率,假设使??数与使?满意度之间存在相关关系,下?年度使??数

    的?标为 2000 ?,根据历史数据进?回归分析,可以得出下?的回归?程式:

    2000 = 23.68 使?满意度 + 174.7

    从?计算出,使?满意度 = (2000-174.7)23.68 = 77 分,我们在散点图中也能看出这个结果。

    如果只是提出「提?使?满意度」的?号,我们还是?法采取具体的?动。于是,接下来要关注与使?

    满意度?度相关的「使??便程度」,它是提?使?满意度的更进?步原因。

    类似地,对「使?满意度」与「使??便程度」进?回归分析,再?回归?程式反向计算出,想要使?

    满意度达到 77 分,就要让使??便程度的分数达到约 66 分,从??较明确地回答了上?「要做到何种

    程度」的问题。

    5. ?数据讲故事

    解决问题的故事,可以总结为:明确?的或问题 ? ?致把握现状 ? 锁定问题的关键 ? 锁定原因 ?

    研究及实施对策,这就像医?为患者看病并开出处?的过程。

    有些?做的数据分析报告,会密密麻麻地写满详细的?字或图表,让?抓不到?点,看不到关键的结论

    和建议,不知道到底想要说明什么。这种「??俱到」的做法,还是放弃为好。

    我们在?数据讲故事的时候,应该把主要的时间和精?,?来思考核?信息是什么?看报告的?想要知

    道什么?

    ·结

    ·对数据,很多?不知道怎么分析,花费??时间和精?,制作出漂亮的图表,却并不能解决任何实际

    问题,也经不起推敲和质疑。《如何?数据解决实际问题》这本数据分析的基础??书,主要是使? Excel 作为数据分析的?具,去

    解决业务实际中可能遇到的问题,全书没有?深的理论和原理,也没有复杂的?具和算法,都是从实际

    ·作中得来的经验、技巧和?法。

    根据不同的阶段和?平,数据分析师所需的能?可以分为 4 种:

    (1)解读数据:掌握观察数据的「视点」,这是驾驭数据的基础。

    (2)基本的数据分析?法:掌握通?的整理和分析数据的基本?法。

    (3)综合技能:将各种?法或思维?式有机结合起来,形成具有整体?贯性的解决问题的故事。

    (4)?级分析技能和 IT 系统:掌握运?专业的?难度?法和?难度技术进?分析的能?。

    对于?多数?来讲,具备(1)~(3)的技能就?够了,?这本书主要就是在介绍基本的数据分析?

    法。

    最后,如果你想进?步提?技能,建议你在??实践中积累经验,?对每个?作任务的时候,都认真地

    加以思考和总结。

    3.4 精准搜索资料的 6 个技巧

    在数据分析学习指南中提到:

    如今?络资源?常丰富,提炼好的关键词,善?搜索引擎,很多问题都能找到多种解决?案。

    那么如何提炼出好的关键词?如何善?搜索引擎?为什么有时很难找到??想要的资料?

    下?分享?个搜索引擎的使?技巧。

    本?以百度搜索为例,如果能? Google,那么效果更佳。

    1 尽?避免使??语化的词汇

    例如百度搜索「在哪?可以找到数据分析资料」,显示的结果如下:

    搜索引擎明显没有很好地理解?户的需求,关键的「资料」信息没有在前排显示出来。

    ·较好的?法是,把关键词「数据分析」和「资料」提炼出来。

    另外,寻找数据分析资料通常是想把它下载到本地来学习,因此可以增加关键词「下载」,每个关键词

    之间?空格分开,这样搜索出来的结果就精准的多了,如下图所示:

    注:搜索结果中隐藏了?告

    不同时间搜索的结果可能会不?样

    2 使?多个关键词

    因为“数据分析”这个关键词太宽泛了,假如你想要找的是?Excel做数据分析的相关资料,那么可以再增

    加?个关键词,即搜索「Excel 数据分析 资料 下载」:

    这样搜索出来的结果就更加明确。

    因此,你应该根据??的需求,养成使?多个关键词搜索的习惯。

    3 把搜索词放在双引号中

    搜索引擎中的双引号,代表完全匹配搜索,也就是说,搜索结果返回的??包含双引号中出现的所有

    词,连顺序也完全匹配。

    例如百度搜索「 数据化分析」的结果如下:

    百度搜索的结果不够精准,它把百度百科的权?放得很?,且没有遵循完全匹配的原则,从这个侧??

    概也能理解:为什么会有那么多虚假?告信息?

    碰到这种情况,建议换个搜索引擎,想办法利?Google,得到更加精准的搜索结果:

    4 利?site:进?站内搜索

    例如在搜索框中输?「数据分析 site:zhihu.com」,表示在知乎站内搜索「数据分析」:

    5 利? filetype:指定?件类型

    例如在搜索框中输?「数据分析 filetype:pdf」,表示搜索类型为pdf的?件:

    6 以图搜图

    点击搜索框右边的照相机图标(下图箭头所指的地?),可以上传本地图?,搜索出相似的图?和图?

    来源。

    例如?「数据化分析」的头像图?,搜索结果如下:

    3.5 ?效学习的 6 个?法

    1. 解决问题

    在?常的?作或?活当中,通常都有各种各样的任务,在完成任务的过程中,可能会遇到?些问题,此

    时是最好的学习机会,以解决问题为?的,学习相关的知识技能,带着任务边做边学,这样学习的效率

    通常都?较?。

    我以前还在学校读书的时候,在?家单位实习,从事数据分析?作,?开始基本什么都不懂,为了完成

    ·作任务,解决?作中遇到的问题,每天利?上下班坐公交?的时间,学习 Excel 实?技巧和 SQL 数据

    库查询等相关知识,虽然学习的环境没有图书馆好,但是我感觉学习的效率很好,?个?下来,数据分

    析的相关技能变得越来越熟练。

    2. 控制难度

    有研究表明,当学习的内容有 15.87% 是新知识的时候,容易进??流状态,此时学习效率是最?的。

    下?是?张机器学习模拟实验的「准确率和训练总次数」的关系图:

    图中 ER 代表出错率,横轴代表训练总次数,纵轴代表准确率,可以看到,出错率为 0.16那条曲线,随

    着训练次数的增?,它的准确率增?速度是最快的。

    假如当年我还在单位实习的时候,?开始就看难度?常?的专业书,那么很有可能会看不下去,这样的

    话,?效学习也就?从谈起了。

    3. 以教为学

    当需要学习?个新的技能时,抱着学完了要去教别?的态度,多做归纳总结,并努?去教会别?,例如

    写?篇?章。

    我以前写的数据分析相关?章,?多都是??学习的总结,通过输出倒逼输?。把写的?章分享出来,???可以加深??的理解,把从别?那?学来的知识,变成??掌握的知识;另???,有可能会帮

    助到其他也需要学习的?。

    从?远来看,我相信利他必然利?,即使退?步讲,不谈利?,如果能够多做?些对社会有价值的事

    情,那也是很意义的。

    4. 保持专注

    专注?是?效学习的?要因素,在?段时间内专注于学习某?项技能,通过??反复刻意的练习,达到

    熟练掌握的程度。

    要学会做减法,因为?命有限,但知识?限,?对浩瀚的知识海洋,我们不可能??俱到,所以需要懂

    得取舍,保持专注。

    5. 应?反馈

    当你学完?些知识之后,要想办法应?于实际?作或现实?活当中,学以致?,可以???的语?写?

    篇摘要?章,这样能够起到?我反馈的作?,让???致知道所学知识的掌握程度,从?有针对性地查

    漏补缺,提?学习的效率。

    特别提醒?下,写摘要?章千万不能照搬原?,?定要???的语??新描述,否则学习的效果会?打

    折扣。

    6. 搜索求助

    当你遇到百思不得其解的问题时,充分利?好搜索引擎,搜索的技巧可以参考我以前写的?篇?章:

    「精准搜索资料的6个实?技巧」。

    如果搜索引擎仍然?法解决,那么可以向相关专业?员求助,到知乎等?络平台提问,购买知识付费平

    台的相关课程,问?问?师、同学、领导、同事、朋友等等。可能??苦苦冥想好?天都毫?进展,但

    是经别?稍微点拨?下,说不定就会让你感觉豁然开朗。

    3.6 ?效学习的 36 种思维

    在《?效学习 7 堂课》这本书中,系统总结了 7 种能?背后涵盖的 36 种思维。

    下?我???的故事,来理解?效学习的 36 种思维,反思??的优点和不?,也相当于做了?次复

    盘。

    1. ?标思维

    2008 年,我正在读研究?,再过?年即将毕业,那时实践能??较弱,对未来很迷茫,不知道??该

    ·什么。

    我当时的?要?标就是先找份?作,解决温饱问题,再寻求突破。

    2. 排除思维

    有了?标之后,我到招聘?站投了很多简历,发现就像?沈?海?样,没有回?。我对此做了反思,?

    ·??撒?的?式投简历,效果太差,应该学会聚焦,排除那些明显不适合??的公司和职位,只保留

    ·个求职?向。

    因为我的专业是数学,感觉数据分析师这个职业挺适合??的,所以我排除了其他选项,修改??的简

    历,尽?去贴合数据分析师的要求。

    3. 串联思维

    通过聚焦,我终于找到了?份数据分析师的实习?作,刚开始实习的时候,把全部业余时间都?于学习

    Excel、SQL、SAS 等数据分析?具,并在实际?作中应?,提升?作的效率。

    后来,我意识到技术的进步是没有?境的,不能只关注技术,还应该培养其他能?,因为在不同的阶

    段,需要的能?结构也是不同的。要获得进步,就要打破原来的能?边界。所以我主动去与业务相关的

    ·进?沟通交流,理解业务的需求和痛点,想办法解决业务中遇到的问题,让数据更有价值。

    再后来,我成了团队的领导,要带领团队成员?起去完成更多的任务,这时,我迫切需要学习的是管理

    能?,经过摸索实践,我学习了?种 OKR ?作法,希望打造?个学习型的技术团队,让团队成员具有

    ·我成?的能?,营造?种激发全员创造?和积极性的?化。

    我努?把??变成?个教练型的研究者和设计者,?不是命令型的控制者和监督者。我知道这条路还很

    ·,??的能?还有很多短板,但是有了?向,分阶段去学习,把每个阶段学到的能?串联起来,相信

    总有?天,我能到达期望的终点。

    4. 标签思维

    2012 年,我开通了微博账号,?名「数据化分析」,寓意?数据化解分析难题,从此我把「数据化分

    析」作为??的?个标签。

    我?「数据化分析」这个?名在博客上发表?章,有的?章获得??转发,?篇?章的最?阅读?有 5

    万左右,让我在数据分析领域有了?点??的影响?。

    5. 平台思维

    ·较遗憾的是,我的平台思维相对?较薄弱,当?家纷纷开始运营微信公众号的时候,我忙于解决现实

    中遇到的各种问题,在很?的?段时间内,基本放弃了写作,错过了借助微信公众平台放?影响?的?

    ·时间。

    直到 2019 年,我逐渐恢复写作,在微信公众平台发表?章。因为我不想被「数据化分析」这?个标

    签,束缚住我的写作题材,所以我把微信公众号的名字改成了「林骥」,这样只要是我认为对读者有价

    值的东?,我都可以发表,?如说,我的读书笔记系列?章。

    我努???质?的输出倒逼?质?的输?,?利于他?的思维进?写作,通过?点?点地积累??的平

    台势能,争取帮助到更多的?。

    6. 地铁思维

    曾经有?段时间,我每天?复着报表的制作,没有对数据进?思考和分析,不知道数据分析的?标是什

    么,感觉??正在逐渐沦为「报表制作的机器」。

    在技术不断进步的时代,连机器都在不断学习,机器正在变得越来越智能,越来越多的?作将被机器取

    代,这样发展下去,我想我的职业前途堪忧。

    我意识??应该洞察数据背后有价值的信息,并把信息结构化,变成知识地图,进?让??对事物发展

    具有前瞻性的智慧。

    7. ?家思维

    当我在写《如何?效阅读?本书》的读书笔记的时候,为了建?像专家?样的视?和格局,我初步搭建

    了?个数据化知识框架,后来我经过思考、实践和调整,按后台、中台、前台进?分类,并?思维导图

    画了出来:

    我把图中的知识点,变成数据化分析的系列?章,?前还在继续更新当中,如果你有兴趣,可以扫描图

    中?维码,关注林骥的微信公众号。

    8. 归纳思维

    在《数据分析的 8 种思维》这篇?中,我也总结过归纳思维,说的是由个别到?般的过程,?如说,?、银、铜、铁都能导电,由此归纳出?般结论:?属能导电。

    在《?字塔原理》?书中,有?个 MECE 原则,也就是要做到各个部分之间相互独?、所有部分完全穷

    尽。在实际的?作中,运?归纳思维的时候,可以搭配使? MECE 原则。

    ·如说,?可以细分为男性和?性,因为?只有男性和?性这两种性别,所以这样细分既相互??,?

    完全穷尽。因此,根据男?有两只?,??也有两只?,就能归纳总结出??都有两只?的结论。

    假如你把?细分为男性和?孩,那就不符合 MECE 原则,因为?孩也有男性和?性之分,所以这样细分

    既没有相互??,?没有完全穷尽。因此,假如你发现男性和?孩都不涂?红,但你不能据此归纳出?

    ·都不涂?红的结论。

    9. ?学思维

    建?了知识框架以后,我开始?步?步地?学相关的内容,此时我的学习模式发?了很?的变化。

    我以前看?本书,通常都是从头看到尾,可能看到后?忘了前?,学习效果?打折扣。?从有了知识框

    架以后,我变成了按需学习的模式,针对某个知识点,我可能会看好?本书,看看不同作者分别是怎么

    写的,增进对所学知识的理解,如果还是不明?,就去?上搜索相关资料。

    ·如说,我在写 Python 系列?章的时候,就同时看了好?本相关的书,参考了 Pandas 的官??档,还看了?些公众号作者的?章,就是想通过?质?的输?,让??输出?质?的?章。

    10. ?桶思维

    ·个?的能??桶由 3 个部分组成,硬能?是底板,软能?是围板,软素质是箍绳。

    我从事的数据分析?作,硬能?是要掌握数据分析的?具和思维,软能?是要学会沟通和表达,软素质

    是要有健康的身体和?理,包括细?、耐?和恒?。

    数据分析专业领域的研究,可以穷尽?个??辈?的精?,假如只有硬能?,没有软能?和软素质,那

    么很可能?桶就围不起来,就很难获得合理的回报。

    11. ?板思维

    在拥有了?个?桶之后,接下来应该做什么?

    我的做法是尽可能把?板变得更?,??打磨「数据化分析」这个标签,写作数据化分析系列?章,提

    升数据分析的硬能?,同时练习写作的软能?。

    我学习某?项技能,?的通常都是为了解决问题。?如说,我现在练习写作能?,是因为?字是?与?

    交流的?要?具,?良好的写作能?能更好地传递思想。

    12. 换桶思维

    ·桶有?有?,?个?的成?,就是不断升级换桶的过程。

    我从?个在校学?,到成为?个数据分析师,然后给??找了?个「数据化分析」的标签,从带领?个

    ·,到带领?个?的团队,回顾这个过程,正好符合前?说的 3 种思维,也就是先打造?个??桶,再

    做?个有?板的?桶,然后换?个??桶。

    13. 逆袭思维

    在《?效学习 7 堂课》中,有?句?较扎?的话:请不要??作?的积累,掩饰??低?平的?复,这

    样永远不会像??那样逆袭。

    我刚开始使? Excel 做数据分析的时候,有??简单?复的操作,为了提??作效率,我买了?本

    《Excel 实战技巧精粹》,熟练运?之后,很多原来需要半天才能完成的?作,半个?时就搞定了。

    想办法从低?平的?复?作中解放出来,才有时间和精?去完成更?的?标,才有逆袭的可能。

    14. ??思维

    要成为某个领域的??,需要 10000 ?时的刻意练习,?不是 10000 ?时的简单?复。?如说,很多

    ·花在英语学习上的时间绝对超过 10000 ?时,但是英语?平低下的?却??皆是。

    在技能练习??,有?个公式:

    快速掌握技能 = 好的练习?法 x ?够的时间 x 合理强度 x 专业教练反馈

    我刚开始学习数据库查询语? SQL 的时候,看的书是《 SQL ??经典》,作者是数据库教学与应?的

    专家,与?上那些杂七杂?的?章和教学视频相?,我觉得看经典书的学习效果要好的多。

    好的练习?法,我认为是要在实际?作中加以应?,?于解决?作中遇到的问题。

    利?互联?的优势,获得专业教练的反馈变得更加便利。如果经过认真思考,通过搜索也?法解决问

    题,那么可以试着去找专业的??进?提问。为了有效提问,更好地解决问题,我总结了《有效提问的

    3 个技巧》。

    15. 成本思维

    学习?项技能,达到专业?平要花 10000 ?时,如果每天学习 4 ?时,每年学习 250 天,就要花 10 年

    时间。

    ·这?辈?,能有?个 10 年?来学习啊?

    所以,学习也要有成本意识,绝?部分技能,并不需要练到专业级别,只需要? 1000 ?时,达到熟练

    程度,就可以满??作需要。?如说,我练习写作,并不期望达到作家的?平,我只要能够熟练写出?

    ·的思想,达到让读者容易理解,并且能够有所收获的程度就可以了。

    16. 教练思维

    ·?平的教练,懂得控制训练难度,知道循序渐进,并变换??的训练?案,让?能够坚持进?艰苦的

    训练。

    有研究表明,当学习的内容有 15.87% 是新知识时,难度适中,学习效率是最?的。如下图所示,当难

    度太?,?就容易焦虑,?当难度太低,??容易觉得?聊。

    我曾经买过?本 863 ?的书:《深?解析 SAS —— 数据处理、分析优化与商业应?》,当时我还没有

    SAS 编程基础,这么厚厚的?本书摆在我?前,让我产?了畏难情绪,结果这本书到?前为?都没有看

    完。

    如果我当时知道教练思维,估计就不会在还没有??的情况下,去买这么?本厚厚的专著。

    后来我开始学习 Python,总结之前的经验教训,先是看了?本《笨?法学 Python》,有了?定的基础

    之后,才开始看《利? Python 进?数据分析》等书。

    17. 整合思维

    现代社会,时间正变得越来越碎?化,如果我们能把零散的碎?时间整合到?个?标上,?知识框架整

    合碎?时间的学习成果,那么学习?的就会更加明确,注意?就会??提?,经过?积?累,也能提升

    ·?解决问题的能?。

    我平时的?作很忙,还要经常加班,只能想办法把碎?时间充分整合起来。

    我?前的做法是,在上班和下班的路上进?学习,坐?的时候看?看书,?路的时候听?听?频,?旦

    发现与知识框架相关的信息,就整合进去,从?不断丰富??的知识体系。体现在思维导图中,就是分

    ·变得越来越多,但是都与?标相关联。

    我在睡觉之前,或者周末放假的时候,如果有空余时间的话,就把?些零散的知识整合起来,写进相关

    主题的?章中,经过?积?累,才有了到?前为?的 51 篇原创?章。

    18. ?络思维

    虽然互联?倡导的是?络互联,但是现在很多?型的互联?公司,考虑到??的商业利益等因素,实际

    上正在变得越来越封闭,所以不要指望仅靠?个?站就能解决所有的问题。

    搜索不同类型的内容,建议?不同的?站。

    ·如说,当我要找数据分析算法的代码,我会优先去 www.github.com 搜索。当我遇到程序相关的专

    业难题时,通常会到 Stack Overflow 上去寻找答案,因为这个?站有很多专业??,问答基数够?,问题审核?较严格。

    19. 搜索思维

    我在学习、?活和?作中,都严?依赖搜索思维,每次遇到问题就喜欢搜?下,基本上 80% 的问题都

    能通过搜索找到答案。我写过《精准搜索资料的 6 个实?技巧》,当我遇到不懂的问题时,都是先利?

    搜索的技巧。

    以前,我囤积过??的电?书等资料,甚?把这些资料妥善整理并保存到移动硬盘中,花了??的时间

    去下载收集和分类整理,结果却发现,这些资料只是静静地躺在那?,?乎从来不会被?到。

    学会搜索技巧之后,我只对少数?常?要的资料进?整理归类,?对于那些通过搜索就能快速找到的资

    料,就不再浪费时间去整理和存放了。

    20. 焦点思维

    在信息时代,每天的信息就像洪流?样涌现在我们?前,如果没有焦点,就容易感到焦虑。

    当我看到?条信息时,往往会先想?想,这条信息对??是不是有??如果没?的话,就采取「阅后即

    焚」的模式,看完直接删除或关闭。

    对于真正有?的焦点信息,我会尽?纳???的知识框架,让它和已有的知识产?关联。?如说,我在

    写读书笔记的时候,有时候会链接?些以前写过的相关?章,这样不仅复习了以前的知识,?且增进了

    对新知识的理解。

    在关注焦点信息的同时,我注意到有?个词叫「功能性?盲」,指的是有些?在不断地印证??的旧有

    观念,陷?到「信息茧房」中不能?拔,不愿意接受新的观点和看法,即使看到了对旧有观念构成挑战

    的信息,也统统视?不?。

    我觉得应该避免变成「功能性?盲」,所以时常提醒??,关注的焦点不能?成不变,要努?让??的

    视?更?阔?点。

    21. 台阶思维

    从??到专家,是?个循序渐进的过程,就像?楼梯?样,沿着台阶?步?步往上爬,想要踏上更?的

    台阶,前?的阶梯是必不可少的。

    22. 结构思维

    回顾我早期的学习经历,发现?多数时候都是在被动地接收?些零散的知识,不断地收藏和下载新的资

    料,却很少?结构思维进?吸收内化。

    直到搭建了知识框架,才形成结构化的输?和输出,?于指导??的学习。

    关于知识框架,我在前?的?章中有多次提到,前提是要有明确的?标。?如做数据分析,?标是?技

    术促进业务,帮助业务解决问题,提升业务的效率。

    那?前有哪些技术能够促进业务呢?

    我想到了??智能,为了系统地学习??智能,从?更好地?技术促进业务,我初步搭建了?个知识框

    架,买了 5 本纸质书,下载了 3 本电?书。

    只有围绕明确的?标,去搭建知识框架,结构才能牢固,否则可能就是花架?,?推就倒。

    23. 拆解思维

    学习技能的时候,仔细拆解??的?法,???盲?学习的?法要好的多。

    当我看《Excel 图表之道》这本书时,深深地被刘万祥?师的拆解思维所折服。书中专业图表的做法,我理解就是通过?步?步的拆解来实现的。

    ·如说, ?个简单的柱形图,通过对标「经济学?」、「华尔街?报」等专业杂志的配图,从标题、颜

    ·、字体、坐标轴、?格线、标签、图标等?系列不同的元素进?拆解,上升为「道」的?度,?不是

    停留在「术」的层?,??提升了图表的专业?质。

    24. 联系思维

    因果分析和相关分析,都是把事物联系起来的分析思维。

    因果分析的代表?法是?肯锡倡导的「现象 - 问题 - 原因 - 对策」,代表?具是「??图」,代表步骤

    是「连问 5 个为什么」,通过追问前因后果,明确适?边界,发现问题的本质。?如说,我在《如何提

    ·数据敏感度》中,经过连续五次不停地问「为什么」,知道?意的本质是流?。

    相关性是不能靠举例?来证明的,倒是可以?数学模型来计算,我写过?篇《相关性分析及其应?案例

    解读》,从数据分析的?度,演示了关联规则的计算?法。这?再举?个例?,?个国家的?均巧克?

    消费?,与这个国家的诺?尔奖得主?数,呈现正相关,但是,巧克?吃得再多,也不会导致得诺?尔

    奖的机会增加。

    25. 换位思维

    换位思考,理解别?的需要,想出互惠互利的?案,这样的合作才能?久。

    我听罗振宇解读陈海贤?师写的《了不起的我》,书中讲到了现代社会的 3 种负?思维?式:僵固型思

    维、应该思维和绝对化思维,我理解都是缺乏换位思维。

    ·如说,我参加秋叶书友会共读计划,其中有个输出?奖的评选,我很认真地写了读书笔记,但还是落

    选了,那我应该怎么想呢?

    以下 6 个选项,你觉得选哪?个?较好?

    (1)我真的已经很好了,落选只是意外。

    (2)我就是不够好,落选是应该的。

    (3)这个评选很不公平,评委有偏?。

    (4)我失去?次?要机会,真是太遗憾了。

    (5)别太在意,这次评选没那么?要。(6)?活就是这样,并不是总能?帆?顺。

    按照陈海贤?师的观点,以上答案都不对,因为每个选项都是试图??个抽象的解释,来让??的现状

    合理化,并没有涉及接下来我该怎么办,从?丧失了和世界正确互动的能?。

    26. 复利思维

    写作具有复利效应,因为写作可以复?到?作、学习和?活中的很多??,?如?作中写邮件、写?

    案、写计划、写总结、写报告等,学习中写读书笔记、?得体会等,?活中写?记、写书信、微信聊天

    等。

    如果写出了?质?的?章,那么还能带来认同、链接?脉、流?变现等复利。

    为了更好地利?复利思维,提???的写作?平,我买了秋叶?师的《写作 7 堂课》,希望通过学习和

    练习写作,让??成为?个更专业的?。

    27. 跃迁思维

    要真正实现跃迁,不能总是停留在低?平的输出上,?是要对标专业选?去努?。

    ·如作为数据分析师,学习 Excel 的时候,不能仅仅满?于会? VLOOKUP 等简单的函数,?是要向?

    流的??学习,努?掌握数据透视表、数据可视化等更多专业的技能,这样才有可能实现跃迁。

    在《?效学习 7 堂课》中,秋叶?师介绍了输出的 7 种模式:

    (1)记录笔记:?笔写胜过??机拍照。

    (2)思维导图:把所学内容的逻辑画出来。

    (3)解读?章:带着??的想法去消化新的信息。

    (4)对外分享:最好的学习就是??去教别?。

    (5)内化实践:到现实中去印证别?的观点。

    (6)复盘?章:写出??的深度?得。

    (7)课程研发:做培训课程或编写教材。

    这 7 种模式的输出,难度是依次递增的,可以看作是难度由低到?的输出跃迁。

    28. 问题思维

    提出?个好问题,往往能激发出好的答案。?如要了解数据分析领域,我们不妨先想?想以下 7 个问

    题:

    (1)数据分析领域涉及哪些概念?

    (2)数据分析的发展历史和前景如何?

    (3)最近两年的数据分析报告有哪些?

    (4)数据分析领域最知名的专著有哪些?

    (5)数据分析?业的竞争格局是怎样的?

    (6)数据分析领域?顶尖的?家企业是谁?

    (7)数据分析业界有什么?的活动?

    如果我们带着类似这样?组结构化的问题,去观察、学习和交流,并把信息梳理成知识体系,就能??

    提?学习的效率。

    29. 视觉思维

    数据分析图表、思维导图、视觉笔记、流程图等,都属于视觉思维的输出形式,如果应?得当,就能明

    显提?信息传递的效率。

    我认为视觉思维不仅要有视觉上的美观,?且要有思维上的逻辑。

    30. 清单思维

    怎么避免在?作、学习、?活中犯下低级的错误?

    清单思维是?种?较好的办法。?如在?作中,有句话叫「?邮件如??」,所以我们应该?视职场的

    邮件礼仪,为了发邮件的时候不犯低级的错误,我总结了邮件发送前的检查清单:

    (1)发件?的显示名,???的中?真名。

    (2)标题是邮件核?内容的总结,少于20字。

    (3)正?尽??短句,不要有错别字。

    (4)如需附件,不要忘了添加,更不要添错。

    (5)前?要有称呼问候,后?要有??的签名。

    (6)字体的??和颜?要美观、简洁、?净。

    清单思维就是把执?细节标准化,?来指导和规范?常的?为。

    31. 成果思维

    学习之后,写读书笔记,画思维导图,列检查清单,都属于学习成果,但最根本的成果是解决问题的能

    ·。

    ·如我做数据分析,想找?个恰当的分析?法,通过搜索,找到了合适的分析?法,这个问题就解决

    了,在这个过程中,也锻炼了??的能?。

    ·效学习者之所以?效,往往是因为他利?所学的成果,解决了现实中的问题,??质?的输出检验能

    ·,?不是?低质?的输出感动??。

    32. 挑战思维

    想进步,就要挑战??的舒适区。

    ·如我学习了 Excel,后?扩展到 SQL,再扩展到 Python 和??智能等领域,就是?步?步挑战??

    的过程。

    除了提?专业能?,还要训练写作能?、沟通能?、管理能?等,这些都是挑战。我相信,在?作中勇

    于挑战,不断精进,就能得到成?。

    33. ?复思维

    我在学习数据分析的时候,往往会把数据分析的思维、?法和模型,?复应?,多次训练,不断去印

    证、改进和完善,也就是「举三反?」。

    ·如我学习?种算法,除了参考书中的例?去练习以外,还会想办法应?于实际的?作和?活当中。在

    双 11 之前,我?线性回归算法预测了双 11 的交易额,等双 11 结束之后,我再对预测过程进?复盘,总结改进的思路和完善的?法。

    当所学的知识或能?得到消化以后,再去多个领域「举?反三」。

    34. 套路思维

    不同的问题,往往有不同的套路,有时候?套路能够解决新问题。

    ·如「断舍离」是?本杂物管理咨询师?下英?提出的概念,我试着?来解决现代社会信息过载的问

    题,我卸载了?机和电脑??的软件,专注于那些对??确实有帮助的信息。

    有时候新套路也能解决?问题。?如我学习?些新的??智能算法,?来解决以前难以解决的?问题。

    35. 建模思维

    我读研究?的时候,参加全国研究?数学建模?赛,获得过?个?等奖,在参加建模?赛的过程中,我

    觉得解决问题的能?、团队协作的意识、模式创新的思维都得到了锻炼。

    建模思维有助于提升「模式识别」的能?,?多数?的模式识别?法过于简单,在没有经过训练之前,很难快速地做出理性的思考。?如专业投资机构,往往是通过数据建模来开展?作,?业余的股?,常

    常依赖直觉或?道消息买股票,因?后者更容易遭受损失。

    36. 合作思维

    互惠互利的合作,已成为现代社会发展的基础和前提。

    前段时间,我看到刘润公众号的?篇?章说,商业的进步,就是分?深化和合作效率的进步。

    ·如??普通的铅笔,背后是原材料的加?,包括雪松和?墨等等。获得雪松要有伐???,伐???

    要?电锯、绳?、鞋?、防护眼镜等等……总之,要经过?系列?常复杂的?序,才能把铅笔制造出

    来,假如没有分?合作,完成这件事的难度是巨?的。在这个世界上,甚?没有?个?,完全掌握制造

    铅笔所需要的全部知识。

    合作最?要的表现形式之?,就是交易。作为?名公司职员,就是在???的技能和时间,获得相应的

    ·资,然后再??资去购买我们?活所需的其他东?。

    在?速变化的商业世界?,你要依靠什么技术,以什么姿态加?分?,以什么效率级别参与合作?

    ·结

    我们所从事的?作,本身就是促进能?成?的最佳舞台,关键是要选好?向、搭好体系、请好教练、?

    好?络,做好总结、强化成果、轻松跨界。

    以上就是?效学习的 7 种能?,即:定位?、框架?、精进?、联机?、复盘?、输出?、迁移?,?

    这 7 种能?的背后,其实是 36 种思维产?的结果。

    3.7 数据分析的精进之道

    在《精进 2 》中,采铜?师想要回答的?个核?问题是:在现代社会,什么样的学习?法更有效?为了

    回答这个问题,采铜?师从??普通的铅笔开始,?动地阐释了观察事物的 4 种视?:材质、造型、装

    饰、?艺。

    我把??所学的?些知识关联起来,迁移到数据分析领域,来“盘?盘”数据分析的精进之道。

    1. 数据分析的材质

    如果我们仔细观察,会发现?多数事物的材质是“复合型”的,不同材质之间优势互补。?如说,普通铅

    笔的材质,主要包括?杆和墨芯,?硬?软,默契配合,很好地体现了物尽其?的精神。

    材质是“复合型”的特点,不仅体现在实物上,?且还体现在虚构的?学作品?,那些脍炙??的作品,表?上你以为写的是“这个”,背后其实写的是“那个”。?如说,在?庸的武侠作品中,表?上看是武侠

    ·说,背后其实展现的是?情。

    迁移到数据分析领域,数据分析的材质,我认为主要包括分析?具和分析思维,例如:Excel、Python、SQL、R、SAS、SPSS、Power BI 等分析?具,还有对?、细分、溯源、相关、假设、逆向、演绎、归纳等分析思维。

    分析?具,是数据分析师必备的硬件模块,它就像数据分析师的另?双?。分析思维,是数据分析师必

    备的软件模块,它就像数据分析师的另?个?脑。如果?个数据分析师在??的岗位上,没有提升??

    应?分析?具和分析思维的能?,那么他的职业道路可能是很危险的。

    在数据分析领域精进的道路上,通常会经历从“规范学习”、到“?由创造”的过程。?先从学习硬技能开

    始,然后再学习软技能,随着学习的不断深?,会发现模块种类还不够多,所以要引?新的模块,从?

    组合?式更加多样,于是产出也就变得更加多元和?由。

    ·如说,?个刚??的数据分析新?,往往是从简单的 Excel 表格开始,掌握 Excel 的函数、公式、数

    据透视表、数据可视化等等,然后学会运?对?、细分、溯源等分析思维,当?平到达?定?度以后,继续深?学习 Python、SQL 等分析?具,以及相关、假设等分析思维,把硬件和软件恰当地组合在?

    起,就能发挥出强?的??。

    我很喜欢书中的?句话:

    硬件?够硬,软件?够多,这便是?个?才能的护城河。

    2. 数据分析的造型

    我们看?的东?,都可以抽象成?何体的组合。?如说,普通铅笔的横截?,是个六边形。从微观上

    看,铅笔的墨芯是由?数个六边形碳原?联结?成的。在?常世界和微观世界之间,出现了有趣的“同

    构”现象。

    在数据分析领域,数据可视化的图表就有很多种造型,包括柱形图、条形图、折线图、散点图、?泡

    图、饼图、圆环图、箱线图、密度图、玫瑰图等等。

    京剧?师梅兰芳的表演,即“合理”,?“美观”。迁移到数据分析领域,我们也可以从合理和美观两个维

    度,对数据可视化的 10 ???准则进?评判:

    1. 明确数据可视化的?的;(合理)

    2. 通过对?来反映问题;(合理)

    3. 提供数据指标的业务背景;(合理)

    4. 通过从总体到部分的形式,展示数据分析报告;(合理、美观)

    5. 联系实际的?产和?活,对数据指标的??进?可视化;(合理、美观)

    6. 通过明确?全?的标注,尽可能消除误差和歧义;(合理、美观)7. 将可视化的图标,同听觉上的描述,进?有机的整合;(合理、美观)

    8. 通过图形化?具,增加信息的可读性和?动性;(合理、美观)

    9. 允许但并?强制,通过表格的形式,呈现数据信息;(合理)

    10. 让受众思考呈现的数据指标,??数据的呈现形式。(合理)

    我们在?常?作中,也要经常问?问??:这个数据合理吗?这个图表美观吗?不断地进?优化调整,只有这样,才能持续精进。

    3. 数据分析的装饰

    ·件产品的装饰,体现了这件产品的“?格”或者说“?质”,如果仔细观察,还能学到?些知识。?如

    说,普通铅笔的六个侧?中,三个?刻字,三个?留?,为什么这样设计呢?为了理解这?点,我特意

    去买了??中华牌六?铅笔,拿在??旋转着看,?论怎么旋转,?少都能同时看到两个侧?,每次都

    能看到侧?上的刻字和留?,显得很和谐,正好符合“合理”和“美观”两个标准。

    迁移到数据分析领域,如果仔细观察数据图表的装饰?格,那么也能从中学到?些知识。?如说,玫瑰

    图是饼图的?种变形,最早是由?个叫南丁格尔的英国护?发明的,?约在 1856 年的时候,南丁格尔

    利?玫瑰图的视觉效果,成功地让数据得到当时?层的?视,从?医事改良?案得到?持。

    虽然玫瑰图展现的形式?于内容,但是在南丁格尔当时的历史环境中,也有其合理性。

    数据可视化要特别注意应?的场景,要加以合理运?,否则可能会适得其反。在我们的?常?作中,建

    议不要使?过于花哨却不实?的图表,?要更加注?传递信息的有效性,同时兼顾合理和美观。

    4. 数据分析的?艺

    ·艺,是指对原材料进?加?和艺术改造,使之成为成品的?法和过程,其中有可能包含着?些通常想

    像不到的智慧。?如说,铅笔的制作?艺,有?可能会想当然地认为,就是把墨芯插进的?制外壳?

    ·。但经过仔细端详和推测,就会发现?个更合理的铅笔制作?艺,?致包括三个步骤:

    第?步:取?个?制的“半壳”,凹?朝上放置。

    第?步:把圆柱形的墨芯放置在“半壳”中。

    第三步:把另?个?制的“半壳”,覆盖在上?。

    迁移到数据分析领域,对?户的数据进?分析,?种简单的?法,就是按性别、年龄、地区等特征进?

    分类,然后贴标签,构建?户画像。但更真实的情形是,需要对?户的各种相关数据进?深?地研究,通过细致的分析,洞察其中真正有价值的“隐藏知识”。

    隐藏知识往往来源于实践,在商业世界中?常?要。?如说,?种好吃的酱汁,不要?看它所封装的知

    识,也许是某?位?厨??年经验的总结,是某些餐饮连锁企业成功的关键。

    在做数据分析的时候,经常会遇到三个问题:是什么?为什么?怎么做?第?个问题是“结果”,第?个

    问题是“原因”,第三个问题是“过程”。数据分析的?艺,通常就体现在这个“过程”之中,?提出有效的?

    动建议,正是数据分析的价值所在。

    5. 数据分析师的层级

    从限制到?由,从新?到专家,都是?个循序渐进的过程,通过?数次的循环刻意练习,不断进化,螺

    旋形上升。要想登顶最后的阶段,前?的学习是必不可少的,否则根基不稳。

    如果将德雷福斯技能习得模型,应?于数据分析师的层级,那么助理数据分析师算是新?,需要在指导

    下?动,数据分析师属于胜任者,能处理繁?的任务,资深数据分析师属于精熟者,能发现问题中最?

    要的部分,下表中的“层级2”都属于数据分析专家,具备洞察“其他可能性”的视?。

    ·结

    虽然世界复杂多变,但是有些普遍适?的规律,我们可以主动去把握。

    在《精进 2 》中,采铜?师博采众?,?约?了 20 万字,分 8 个章节阐述了有效学习的?法。

    我在读这本书的时候,就在思考本?的谋篇布局,试着把书中?些?法迁移到数据分析领域,探索数据

    分析的精进之道。

    我在写这篇?章的时候,前前后后不知道修改了多少遍,?求完美,希望能够唤起你的共情,引发你的

    思考和?动。

    下?这张思维导图是书中的精华。

    ·、?具篇

    第 4 章 数据化分析的?具

    数据化分析的?具,往往会随着时间、地点、?物、事件等因素?不断更新迭代,相对?较容易被替

    代。

    ·如,微软在 1985 年就开发了最早版本的 Excel 软件,后来逐渐更新为 Excel 2、3、4、5、95、97、2000、2003、2007、2010、2013、2016、2019 等多个版本,现在已经很难找到 Excel 2000 之前版

    本的?户了,历史版本将被逐渐淘汰。

    再?如,中国很早以前使?算盘进?数据计算,当?类能够?便地使?电?计算器以后,在?常?活中

    就基本不再需要使?算盘了。

    类似的例?还有很多很多,这提醒我们,学习??新的数据分析?具,要顺应时代发展的潮流,尽?避

    免浪费时间去学习那些已经被淘汰的?具。

    当?具能够熟练应?以后,应该去总结其中规律性的东?,再加上?些??的感悟,将其升华为思维。

    总之,平时?作中应该更加注?数据分析思维的培养和锻炼,不要盲?陷?到数据分析?具的深渊中。

    在埋头?活的时候,也要适当地抬头看路,看看?向是否正确,如果?向错了,那么离你当初的?标可

    能渐?渐远。

    根据?作和?活中实际情况,把数据分析思维运?到极致,得出有价值的数据分析结果,数据分析将会

    成为?种艺术。数据分析??通常都能精通?种或多种?具,就像在武侠?说中的??与武器往往是相辅相成的。

    古?写的《七种武器》系列?说,七种武器分别是:??剑、孔雀翎、碧??、多情环、霸王枪、离别

    钩和箱?,每种武器背后都有?段精彩离奇的故事,通过这些的故事,让读者明?,某种武器背后隐藏

    的是什么,究竟是什么??才让这种武器如此厉害,?如:微笑、?信、诚实、仇恨、勇?、戒骄等

    等。

    对于数据分析??,我认为也有七种?常厉害的武器,它们分别是:

    4.1 ??剑: Excel

    Excel 在数据分析的地位,可配得上「??」?字,有了这柄??剑,就能够解决许多常?的数据分析

    问题。

    Excel 的函数、数据透视表、图表可视化、VBA 等功能,让数据分析?作变得?效。

    ·?剑,背后隐藏的是微笑,?论遇到多么?困难,都要保持微笑。

    4.2 孔雀翎:Power BI

    · Power BI 做出来的图表,就如同孔雀的尾?,鲜艳美丽。

    Power BI 将数据转换为令?赞叹的视觉对象,让仪表盘和交互式报表变得更加简单。

    孔雀翎,背后隐藏的是?信,充分认识??的?处和潜能,并发挥出来。

    4.3 碧??:SQL

    SQL 是 Structured Query Language 的简称,即结构化查询语?,数据分析师主要? SQL 来提取更加

    客观真实的数据。

    碧??,背后隐藏的是诚实,内?与???致,不虚假。

    4.4 多情环:SPSS

    SPSS 软件的界??常友好,你只要点?点?标,就能得出??专业的分析结果。

    但是,其中的分析?法和模型是否适??分析的参数如何调整优化?分析结果如何解读和应??因为这

    些问题有可能会让初学者??懊恼,在从简单到复杂的过程中,可能会产??较?的情感落差,所以我

    把 SPSS ?作多情环。多情环,背后隐藏的是仇恨,表达的是对现实状况强烈的不满。

    4.5 霸王枪:SAS

    SAS 堪称是数据分析软件中的「巨?霸」,是美国北卡罗来纳州??学 1966 年开发出来的统计分析软

    件。

    SAS 的功能?常强?,统计?法?全,被?泛应?于科研、教育、?产和?融等多个领域。

    霸王枪,背后隐藏的是勇?,主动迎接挑战,势必所向?敌。

    4.6 离别钩:R

    ·从?了 Python 之后,我渐渐远离了 R 软件。

    虽然 R 软件中有??成熟实?的统计分析?具包,让?难以割舍,但是 Python 的适?范围更?,?如

    · Python 还能做?站和服务器?动化运维等。在时间和精?有限的情况下,当使??种语?就能满?

    更多需求,并且由此带来的好处?较明显时,我认为会有越来越多的?选择?使??种语?的路线。

    离别钩,背后隐藏的是戒骄,永远保持谦虚进取的精神。

    4.7 箱?:Python

    随着 Python 版本的不断更新,新的功能越来越多, 它就像?个神奇的宝箱,??的能?似乎取之不

    尽,?之不竭。

    当 Python 配上 NumPy、Pandas、Matplotlib、SciPy、StatsModels、Scikit-learn、TensorFlow 等

    ·具库以后,简直是如?添翼,成为数据科学、机器学习、交互式计算以及数据可视化等领域最为?要

    的语?之?。

    在古??中,第七种武器到底是什么??前似乎还没有定论,有?说古?还没来得及写就已经去世了,有?说是拳头,有?说是箱?,我认为?论是什么,其背后都隐藏着?种神奇的??。

    在数据分析的江湖中,如果没有顺?的武器,那么英雄也可能??武之地。尽管武器很强?,但是?具

    总是死的,更?要的是能领悟它的运?之道。

    ·件武器是否能发挥价值,主要还是得看使?它的是什么?。

    除了上述 7 种?具以外,你还能找到很多其他强?的?具,例如 Tableau、FineBI、JMP、Qlikview、Weka、Java、D3(JavaScript)等。尽?避免让?具成为限制因素,选择?种?具,尽可能熟悉它,最

    好的?法就是不断练习,在实际?作中反复使?它。综合考虑多种因素之后,我选择使? Python 编程语?,与所?即所得的操作型软件相?,刚开始的时

    候,编程类软件的学习会困难?些,但是编程有着更?的灵活性和改进空间,?便保留??定义的配

    置,能快速地?复使?,也容易进?升级迭代。

    第 5 章 数据化分析 Python 实战

    5.1 读取数据

    读取数据往往是做数据分析的第?步,本?没有讲那些艰涩难懂的概念,只有?些问题的解决?案,当

    你遇到类似的问题的时候,可以拿来参考借鉴。

    ·先,我们下载并安装最新的 Python 集成环境:Anaconda,其次,在命令?输? jupyter lab,系统

    将?浏览器打开下?的?址:

    http:localhost:8888lab

    然后,在其中新建?个 Notebook,接下来就可以开始写代码了。

    我们将统?使? Pandas 来读取数据:

    这是每次?新开始数据分析之前,都需要运?的代码,以后凡是?到包含 pd. 的代码,就表示我们已经

    运?了这?代码。

    输? pd.read 后,按 Tab 键,系统将把以 read 开头的函数和模块都列出来。

    导? pandas 模块

    import pandas as pd

    运?以下代码:

    返回的结果是 Pandas 中所有包含 read 的函数和模块,可以看出 Pandas 能够读取的数据类型有很

    多,我选择?个常?的函数进?简要的介绍。

    2. 如何从 Excel ?件中读取数据?

    我们直接看 Python 代码:

    其中 pd.read_excel 函数,有很多可选参数,如果你忘记了具体?法,可以运?:

    pd.read?

    导? Excel ?件

    df = pd.read_excel('?件名.xlsx')

    查询帮助?档

    pd.read_excel?你将会看到?较详细的帮助?档,还有?些例?。

    我觉得使?问号( ? )是?个?常好的?法,适?于各种对象。

    如果?个问号还解决不了问题,那么还可以试试双问号( ?? ):

    3. 如何从 MySQL 数据库中读取数据?

    在第?次运?之前,需要先安装 pymysql ,在 Jupyter Notebook 中运?:

    安装成功后,可以?下?的代码实现从 MySQL 数据库中读取数据:

    如果相关信息正确,且能正常连通数据库,那么运?将得到?个数据框。

    但是,上?的代码包含数据库密码这类敏感信息,建议不要直接把这类敏感信息直接写在代码中,?旦

    不??上传到?上,就容易造成信息泄露。

    我们可以把敏感信息保存在单?的?件中,?先,在当前运?环境的?录下?,新建?个?件夹,命名

    为 password;其次,在 password ?件夹中,新建?个?件,命名为 root@mysql.txt;然后,在该?

    件中,输?以下内容:

    mysql+pymysql:root:xxxxxx@192.168.0.1:3306testdb

    接下来,我们就可以调?这个包含敏感信息的?件:

    查询帮助?档和源代码

    pd.read_excel??

    安装或更新 pymysql!pip3 install --upgrade pymysql

    从 sqlalchemy 导?创建引擎的功能

    from sqlalchemy import create_engine

    建?数据库连接,替换其中的?户名、密码、主机地址、端?、数据库名

    con = create_engine('mysql+pymysql:root:xxxxxx@192.168.0.1:3306testdb')

    写 SQL 语句

    sql = SELECT FROM table

    读取数据

    df = pd.read_sql(sql, con)

    df.head

    从 sqlalchemy 导?创建引擎的功能

    from sqlalchemy import create_engine

    建?数据库连接,替换其中的?户名、密码、主机地址、端?、数据库名

    db_info = open('passwordroot@mysql.txt')因为敏感信息已经隐藏到其他?件中了,所以信息相对更加安全。

    4. 如何从 PostgreSQL 数据库中读取数据?

    在第?次运?之前,需要先安装 py-postgresql ,在 Jupyter Notebook 中运?:

    安装成功后,可以?下?的代码实现从 PostgreSQL 数据库中读取数据:

    类似地,你也可以参考前?介绍过的?法,把密码等敏感信息保存在单?的?件中,我们在这?就不?

    复演示了。

    5. 如何从 Oracle 数据库中读取数据?

    在第?次运?之前,需要先安装 cx_Oracle , 在 Jupyter Notebook 中运?:

    安装成功后,可以?下?的代码实现从 Oracle 数据库中读取数据:

    con = create_engine(db_info.read)

    写 SQL 语句

    sql = SELECT FROM table

    读取数据

    df = pd.read_sql(sql, con)

    df.head

    安装或更新 py-postgresql!pip3 install --upgrade py-postgresql

    从 sqlalchemy 导?创建引擎的功能

    from sqlalchemy import create_engine

    建?数据库连接,替换其中的?户名、密码、主机地址、端?、数据库名

    con = create_engine('postgres:linjiwx:xxxxxx@192.168.0.2:5432testdb')

    写 SQL 语句

    sql = SELECT FROM table

    读取数据

    df = pd.read_sql(sql, con)

    df.head

    安装或更新 cx_Oracle!pip3 install --upgrade cx_Oracle

    防?中?乱码

    import osos.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'从上?的?个例?,我们可以看到,利? SQLAlchemy 框架,从不同数据库中读取数据的?法?常相

    似,只需要简单地修改?些参数即可。

    6. 如何从??中读取数据?

    当访问 https ??时,为了防?报错,需要?到 ssl 模块,解决证书不受信任的问题。

    其中 read_html 函数会读取当前??的所有表,我们可以? dfs[0] 获取??中的第?个表。

    7. ?结

    在正式开始进?数据分析之前,通常需要先读取数据,本?介绍了? Python 从 5 种不同的地?读取数

    据,分别是从 Excel、MySQL、PostgreSQL、Oracle 数据库和??中读取数据,其中有?些代码其实

    是伪代码,不是复制粘贴后就能直接运?得到结果的,需要你根据??的实际情况,修改其中的参数和

    表名等信息。

    最后,不要忘了去实践,就像你学骑???,就算你把理论知识都彻底搞明?了,如果不骑上???去

    试试,那么终究还是不会骑的。

    5.2 清洗数据

    在做数据分析之前,我们?先要明确数据分析的?标,然后应?数据分析的思维,对?标进?细分,再

    采取相应的?动。

    我们可以把数据分析细分为以下 8 个步骤:

    (1)读取

    (2)清洗

    从 sqlalchemy 导?创建引擎的功能

    from sqlalchemy import create_engine

    建?数据库连接,替换其中的?户名、密码、主机地址、端?、数据库名

    con = create_engine('oracle+cx_oracle:system:xxxxxx@192.168.0.3:1521orcl')

    写 SQL 语句

    sql = SELECT FROM table

    读取数据

    df = pd.read_sql(sql, con)

    为了防?报错:SSLV3_ALERT...

    import ssl

    ssl._create_default_https_context = ssl._create_unverified_context

    ?址

    url = 'http:s.askci.comstocka?reportTime=2019-03-31pageNum=1'

    读取??中的表格数据

    dfs = pd.read_html(url)(3)操作

    (4)转换

    (5)整理

    (6)分析

    (7)展现

    (8)报告

    在《如何? Python 读取数据?》这篇?章中,我们学习了从 5 种不同的地?读取数据的?法,接下

    来,我们将利?其中的?种?法,从 Excel ?件中读取原始数据,然后利? Python 对它进?清洗。

    下?我们??副待清洗的扑克牌作为示例,假设它保存在代码?件相同的?录下,在 Jupyter Lab 环境

    中运?以下代码:

    返回结果如下:

    import numpy as np

    import pandas as pd

    设置最多显示 10 ?

    pd.set_option('max_rows', 10)

    从 Excel ?件中读取原始数据

    df = pd.read_excel(

    '待清洗的扑克牌数据集.xlsx')

    df这幅待清洗的扑克牌数据集,有?些异常情况,包括:??王的花?是缺失的,有两张?复的?桃 ?

    A,还有?张异常的?桃 ? 30。

    1. 如何查找异常?

    在正式开始清洗数据之前,往往需要先把异常数据找出来,观察异常数据的特征,然后再决定清洗的?

    法。返回结果:

    array(['?王', '?王', 'A', '30', 4, 5, 6, 7, 8, 9, 10, 'J', 'Q', 'K', 2, 3], dtype=object)

    根据常识可以判断,牌?为 30 的是异常值。

    查找「花?」缺失的?

    df[df.花?.isnull]

    查找完全?复的?

    df[df.duplicated]

    查找某?列?复的?

    df[df.编号.duplicated]

    查找牌?的所有唯?值

    df.牌?.unique 查找「牌?」包含 30 的异常值

    df[df.牌?.isin(['30'])]

    查找王牌,模糊匹配

    df[df.牌?.str.contains(

    '王', na=False)]

    查找编号在 1 到 5 之间的?

    df[df.编号.between(1, 5)]查找某个区间,也可以?逻辑运算的?法来实现:

    其中「 」代表必须同时满?两边的条件,也就是「且」的意思。

    还可以?下?等价的?法:

    其中「 | 」代表两边的条件满??个即可,也就是「或」的意思,「 ~ 」代表取反,也就是「?」的意

    思。

    2. 如何排除?复?

    使? drop_duplicates 函数,在排除?复之后,会得到?个新的数据框。

    返回结果如下:

    查找编号在 1 到 5 之间的?

    df[(df.编号 >= 1)

    (df.编号 <= 5)]

    查找编号在 1 到 5 之间的?

    df[~((df.编号 < 1)

    | (df.编号 > 5))]

    排除完全?复的?,默认保留第??

    df.drop_duplicates如果想要改变原来的数据框,有两种?法,?种?法,是增加 inplace 参数:

    另?种?法,是把得到的结果,?新赋值给原来的数据框:

    排除?复后直接替换原来的数据框

    df.drop_duplicates(

    inplace=True)如果想要按某?列排除?复的数据,那么指定相应的列名即可。

    如果想要保留?复的最后??,那么需要指定 keep 参数。

    排除?复后,?新赋值给原来的数据框

    df = df.drop_duplicates

    按某?列排除?复,默认保留第??

    df.drop_duplicates(['花?'])

    按某?列排除?复,并保留最后??

    df.drop_duplicates(

    ['花?'], keep='last')从上?两个返回结果的编号可以看出,不同?法的差异情况。

    3. 如何删除缺失?

    使? dropna 函数,默认删除包含缺失的?。为了更加简单易懂,我们?扑克牌中不?复的花?作为

    示例。

    不?复的花?

    color = df.drop_duplicates(

    ['花?'])

    color如果想要删除整?全部为空的?,那么需要指定 how 参数。

    删除包含缺失值的?

    color.dropna

    删除全部为空的?

    color.dropna(how='all')如果想要删除包含缺失值的列,那么需要指定 axis 参数。

    可以看到,包含缺失值的「花?」这?列python被删除了。

    4. 如何补全缺失?

    使? fillna 函数,可以将缺失值填充为我们指定的值。

    删除包含缺失值的列

    color.dropna(axis=1)可以看到,原来的 NaN 被填充为 Joker,在实际?作的应?中,通常填充为 0,也就是说, fillna(0) 是

    ·较常?的?法。

    如果想要使?临近的值来填充,那么需要指定 method 参数,例如:

    补全缺失值

    color.fillna('Joker')

    ?后?的值填充

    color.fillna(method='bfill')可以看到,原来第??的 NaN 替换成了第??的「?桃 ? 」。

    其中 method 还有?些其他的可选参数,详情可以查看相关的帮助?档。

    还有?种按字典填充的?法。为了让下?的演示更加直观易懂,我们先把索引为 2 的牌?设置为缺失

    值:

    为了演示,先指定?个缺失值

    color.loc[2, '牌?'] = np.nan

    color可以看出,不同列的缺失值,可以填充为不同的值,花?这?列填充为 0,牌?这?列填充为 1,我在

    图中分别?红?的?框标记出来了。

    按列?定义补全缺失值

    color.fillna(

    {'花?': 0, '牌?': 1})5. 应?案例

    下?我们? Python 代码,把这幅待清洗的扑克牌数据集,变成?副正常的扑克牌数据。

    import numpy as np

    import pandas as pd

    设置最多显示 10 ?

    pd.set_option('max_rows', 10)

    从 Excel ?件中读取原始数据

    df = pd.read_excel(

    '待清洗的扑克牌数据集.xlsx')

    补全缺失值

    df = df.fillna('Joker')

    排除?复值

    df = df.drop_duplicates

    修改异常值

    df.loc[4, '牌?'] = 3

    增加?张缺少的牌

    df = df.append(

    {'编号': 4,'花?': '?桃?','牌?': 2},ignore_index=True)

    按编号排序

    df = df.sort_values('编号')

    ?置索引

    df = df.reset_index

    删除多余的列

    df = df.drop(

    ['index'], axis=1)

    把清洗好的数据保存到 Excel ?件

    df.to_excel(

    '完成清洗的扑克牌数据.xlsx',index=False)

    返回结果如下:

    可以看到,我们已经成功地把它变成了?副正常的扑克牌数据。

    6. ?结

    df我们简单回顾?下本?的主要内容,?先,我们从宏观层?介绍了数据分析的 8 个步骤,然后??副待

    清洗的扑克牌数据集作为示例,从读取数据,到查找异常,再到排除?复、删除缺失和补全缺失,最

    后,我们??个案例,完整演示了清洗数据的过程。

    如果你想要获取本?的案例数据,请前往林骥的公众号后台回复「清洗」。

    5.3 操作数据

    0. 序?

    在《如何? Python 清洗数据》??中,我把数据分析细分为明确?标、应?思维和 8 个具体的步骤。

    利?最近学习的《看完就?的思维导图》,我把数据分析的步骤做成了?张思维导图。

    本?将继续?扑克牌作为示例,学习?些操作数据的?法,主要包括对数据进?「增、删、改、查」。

    ·先,我们创建?个空?的数据框。

    1. 如何增加数据?

    import numpy as np

    import pandas as pd

    创建?个空?数据框

    df = pd.DataFrame当我们给数据框中不存在的列赋值时,会?动增加?个新的列,?如说,要在空?数据框中增加?列

    「编号」,其中包含两?数字,使?下?的代码即可实现。

    如果要在指定的位置插?列,那么可以使? insert 函数,例如:

    ·类似的?法,可以把新增的列插到中间的位置。

    增加两??列

    df['编号'] = [1, 2]

    df

    增加?列

    df.insert(1, '牌?', ['A', 2])

    df

    中间再增加?列

    df.insert(1, '花?', ['?桃?', '红??'])

    df为了演示增加?的?法,我们?先创建?个新的数据框,其中包含?张扑克牌,我们使? append 函

    数把这张新牌增加到数据框中去。

    除了 append 函数以外,还可以使? concat 函数来实现,下?代码返回的结果和上??样。

    定义?张新牌

    poker1 = pd.DataFrame(

    {'花?': ['红??'],'牌?': [3]})

    增加??

    df2 = df.append(

    poker1,ignore_index=True,sort=False)

    df2如果要按列的?向拼接两个数据框,那么可以在 concat 的参数中指定 axis=1,也可以使? merge

    和 join 函数代替,关于后?这两个函数的使??法,我计划放在《如何? Python 整理数据》中进?

    介绍,敬请关注林骥公众号的后续更新。

    2. 如何删除数据?

    使? drop 函数,可以按索引删除对应的?或列,默认是删除?,并?成?个新的数据框。

    如果想要删除列,那么需要指定 axis=1。

    与 drop 函数不同的是,del 语句会直接删除原来数据框中的列,所以使? del 时需要更加谨慎。

    默认按?的?向拼接两个数据框

    pd.concat([df, poker1],ignore_index=True,sort=False)

    删除索引为 0 和 2 的?

    df2.drop([0, 2])

    删除「花?」列

    df2.drop(['花?'], axis=1)

    删除「编号」列,? del 会改变原来的数据

    del df2['编号']

    df2

    3. 如何修改数据?

    使? replace 函数,可以替换所有匹配的数据。

    通过传递 regex 参数,可以使?正则表达式,实现模糊替换,例如:

    将所有的 A 修改为 1

    df3 = df2.replace('A', 1)

    df3

    将所有的符号剔除

    df3.replace(

    ['?', '?', '?', '?'], '',regex=True)如果想要修改某?某列指定的值,那么? loc 定位之后,直接赋值即可。

    如果想要修改所有的列名,那么可以??个列表来进?赋值。

    修改某?个值

    df3.loc[0, '牌?'] = 'J'

    df3

    修改列名

    df3.columns = list('AB')

    df3如果只是想修改某?列或?列的列名,那么可以使? rename 函数指定 axis=1 来实现。

    如果 rename 函数不指定 axis 参数,那么默认修改的是?索引。

    修改指定列名

    df3.rename(

    {'A': '花?'},axis=1)

    修改指定?索引

    df3.rename({1:3, 2:3})

    4. 如何查询数据?

    我们先从 Excel ?件中读取想要查询的数据,并? head 函数查询前 5 ?数据。

    从 Excel ?件中读取原始数据

    df = pd.read_excel(

    '待清洗的扑克牌数据集.xlsx')

    查询前 5 ?的数据

    df.head下?我们导?处理正则表达式的 re 模块,然后使? match 函数实现模糊查询,其中

    flags=re.IGNORECASE 表示不区分??写。

    ?正则表达式匹配「牌?」包含 j 或 k 的牌

    import re

    df[df.牌?.str.match(

    '[jk]', flags=re.IGNORECASE, na=False)]query 是?个?常实??且?效的查询函数。

    查询索引在 1 到 5 之间,且牌?不是 A 和 30

    card = ['A', '30']

    df.query(

    '1 <= index <= 5 and 牌? not in @card ')使? query,还可以直接在表达式中使?统计函数,例如:

    个?强烈推荐使? query 查询数据,它的语法与 SQL 类似,功能?常强?。

    5. 应?案例

    我们还原电影《赌神 3 之少年赌神》的?个场景,其中的扑克牌玩法是梭哈,每? 5 张牌,牌型的??

    顺序是:同花顺 > 四条 > 葫芦(三条加对?) > 同花 > 顺? >三条 > ?对 > 对? > 散牌。

    电影中赌到最后?把牌的时候,赌神和对?的牌分别是这样的:

    查询编号?于平均值,且牌?为 A

    card = ['A', '30']

    df.query(

    '编号 > 编号.mean and 牌? == A ')

    赌神的牌

    x = pd.DataFrame({

    '赌神':['?3','?2','?2','?2','?10']

    })

    对?的牌

    y = pd.DataFrame({

    '对?':['?A','?A','?K','?Q','?J']

    })

    把赌神和对?的牌合并在?起显示

    pd.concat([x, y], axis=1)

    为了报仇,赌神?进将计就计,?戒指暗藏了红? ? 10 的牌?,让对??傲以为交换底牌之后就能

    赢。但其实底牌是?张梅花 ? 3,所以交换底牌之后,仍然是赌神赢。

    在 Python 中,交换变?有?种?常简便的办法:

    交换赌神和对?的底牌

    x.loc[0][0], y.loc[0][0] = y.loc[0][0], x.loc[0][0]

    pd.concat([x, y], axis=1)这种?法不需要借助临时变?,直接? a,b = b,a 的形式实现变?交换,?常?便实?。

    6.?结

    最后,??张思维导图,作为本??结。

    5.4 转换数据

    ·先,我们从??中读取 Costco 的历史股价数据。

    然后,我们对数据进?清洗,得到?个?净整洁的数据表格。接下来,我们就可以正式开始对数据进?转换。

    1. 如何转换为时间?

    使? transform 函数,结合 dateutil 模块中的 parse 函数,我们可以将字符转换为时间。?部分常?的字符形式,都可以使? parse 进?转换,例如:

    需要注意的是,要防?出现意外情况,例如:parse('80') 的结果是 1980 年的当前?期,如果这不是你

    想要的结果,那么在转换之前,建议把相应的字符串写得更具体明确?些。使? pd.to_datetime 函数,不仅能将字符转换为时间,?且能将数值转换为时间,还能指定时间单位

    和起始?期等参数,例如:

    2. 如何转换为数值?

    使? pd.to_numeric 函数,结合?由度?较?的 apply 函数,我们可以实现将每?列都强制转换为

    数值,?法转换的元素? nan 表示。其中 errors='coerce' 是 pd.to_numeric 函数的?个参数,如果把 coerce 替换为 ignore,那么将忽略

    ·法转换的元素,让其保持原样。3. 如何转换为字符?

    使? astype 函数,我们可以实现数据类型的相互转换。?如说,下?的代码实现把数据框全部转换为

    字符型。

    对于时间型的数据,我们可以使? strftime 函数,转换为指定的字符格式,例如:

    5. 如何转换为区间?

    使? pd.cut 函数,我们可以将数值切割为指定的区间,例如:其中 right = True 代表左开右闭,默认为 False,即左闭右开。

    我们可以使? labels 参数,为每个区间指定想要显示的内容,例如:

    如果把 bins 参数定义为?个整数,那么数值将被切割为等分的区间。6. 如何做分组转换?

    结合使? groupby 和 transform 函数,我们可以在?数保持不变的情况下,对某列进?分组求和,例如:

    这样分组转换数据的好处是,能够?便地计算每个数据对应各?分组的占?。?如说,下?代码的计算

    结果是:每天成交?占当?总成交?的?例。如果使? apply 函数,那么返回结果会聚合成 5 ?。

    如何使? agg 函数,那么返回的结果也是聚合成 5 ?,?且可以同时应?多个函数。

    Pandas 从 0.25 版本开始,agg 函数得到增强,可以对多个不同的列,应?不同的函数,并对聚合的

    结果进??定义命名。

    ·如说,类似于 Excel 中经典的数据透视表功能,我们可以使?下?的代码,实现按?份分组,同时对

    ·期进?计数、对开盘价求平均值和最?值、对成交?求和。

    可以看出,与 Excel 相?,Python 的功能要强?很多,灵活运?相关函数,能够明显提升数据分析的

    效率。

    6. 如何标准化转换?

    为了消除单位?纲的影响,让不同变?之间能够进?对?分析,我们可以对数据进?标准化转换,0-1

    标准化是?种常?的标准化转换的?法。?如说,下?的代码实现了 Costco 开盘价的 0-1 标准化。

    经过 0-1 标准化转换之后,原来的最?值变成 0,原来的最?值变成 1,其他的值都变成了介于 0 到 1

    之间的值。

    ·结

    最后,我们还??张思维导图,对转换数据的?法做个?结。

    5.5 整理数据

    整理的意思,是整顿使之有条理,?标是让零散杂乱的数据变得井然有序。

    许多数据分析师都需要花费??的时间来整理数据,有可能花在整理数据上的时间,甚?超过分析数据

    的时间。

    做数据分析?作,表?是在制作数据报表、提交分析报告,背后其实是你数据分析思维的体现。

    如果借?「前台、中台、后台」的概念来解释的话,那么展现数据和总结报告属于「前台」,处理数据

    和分析数据属于「中台」,?明确?标和应?思维就属于「后台」。

    前台直接?向客户,是实现价值的?要途径。夸前台,通常会说“真漂亮”。

    中台是为前台??,为了更好地服务前台,它是前台与后台之间的桥梁,起着?常?要的作?,中台具

    有灵活调整、随需应变的特征,从?更好地适应不断变化的环境。夸中台,通常会说“有能?”。

    后台?撑着整个数据分析体系,它是数据分析的基?。夸后台,通常会说“好强?”。

    前台仅仅是冰???,?下的中台和后台,其实隐藏着?数的奥秘。

    1. 数据准备

    ·先,为了演示整理数据的?法,我们从 www.gapminder.orgdata 下载 2 个数据?件,分别是世界

    各国的??数?、预期寿命,保存到本地当前?录下的 data ?件夹中。

    其次,为了便于理解,我们选取其中?个国家 2018 年的数据,第 1 个表是中国和印度 2018 年的??

    数?。

    第 2 个表是中国、?本和俄罗斯 2018 年的预期寿命。

    接下来,我们将? Python 对这两个表进?整理。需要说明的是,我们?法对整理数据的?法进???

    俱到的讲解,这?只是挑选了?个我认为?较有代表性的?法,如下图所示。

    2. 外连接

    本?中「连接」的概念,类似于数据库查询语? SQL 中的 join 功能。

    「外连接」是指经过整理后,得到两个表的所有?,相当于两个表的并集。

    使? Pandas 中的 merge 函数,指定 how 参数的值为 'outer',我们可以实现两个表的外连接,其中

    参数 on ?于指定连接的列名,作为两个表关联的键,缺失值? NaN 代替。

    3. 内连接

    「内连接」相当于两个表的交集,只返回两个表相互匹配的数据。

    当不指定 merge 函数的 how 参数时,默认就是内连接。如果不指定 on 参数,那么默认以两个表共同

    的列名作为连接键。

    4. 左连接和右连接

    「左连接」是以左边表为主表,即使有些记录在右边表中不存在,左边表中的信息也都全部显示出来,右边表中不符合匹配条件的值? NaN 代替。

    如果 merge 函数指定 how 参数的值为 'left',那么实现两个表的左连接。

    「右连接」与「左连接」是类似的,只是交换了左右的位置?已。

    当 merge 函数指定 how 参数的值为 'right' 时,实现两个表的右连接。

    5. 交叉连接

    两个表的「交叉连接」,是指将第 1 个表中的所有?与第 2 个表中的所有?两两相连,返回的?数等于

    两个表的?数相乘,在数学上称为笛卡尔积。

    在 Python 中,实现交叉连接可以细分为 3 个?步骤:

    (1)? assign 函数增加 key 列;(2)? merge 函数进?连接;

    (3)删掉 key 列。

    利?下?的代码,就能完成交叉连接的操作。

    因为两个表都有「国家」列,所以在返回的结果中,列名?动增加了 _x 和 _y 的后缀。

    6. 联合拼接

    「联合拼接」,是指将两个表直接拼接在?起,不排除?复数据。对于列名相同的列,两个表直接上下

    相连;如果列名不同,那么分成不同的列进?拼接。

    使? Pandas 中的 concat 函数,可以将两个表进?联合拼接,其中「国家」列是上下拼接,其他列由

    于列名不同,所以被拼接为多列,缺失值? NaN 表示。

    另外,append 函数也可以实现类似的拼接功能。为了不增加记忆负担,这?就略过不说了,感兴趣

    的朋友可以??搜索相关帮助?档。

    在使? Python 的过程中,我们可能会发现,同?个问题,往往能找到多种不同的解决?案。

    ·如说,本?介绍的?法,其实都可以? pandasql 来实现,也就是采?写 SQL 语句的?式。

    在学习的初期,我们不必纠结于应该采?哪种?法,以最快速地解决实际问题为?要?的,先完成任

    务,然后再逐渐完善,不断地丰富??的知识体系,就能发现更加?效的解决?案,这正是从??到精

    通、从新?到??的?个过程。

    ·结

    本?主要使? Pandas 中的 merge 和 concat 两个函数,对两个简单的表格数据,从不同的?度进?

    合并整理。通常每个函数都有若?个参数,在做数据分析的实际?作中,可以根据需要,进?调?和指

    定。

    下?这张思维导图,能够帮助我们理清思路,加深理解和记忆。

    到?前为?,数据分析的前期准备?作已经基本完成,接下来,我们将开始分析数据。

    随着数据变得越来越丰富,数据变成?种核?的资源,利?数据分析的技术,能够解决越来越多的实际

    问题。

    你?法?所不知,因为世界总是在不断变化,但你今天的?作内容,将成为明天的?作经验。要让知识

    和现实之间产?联接,不断完善??的知识体系。

    如果你掌握了数据分析的技术,就可以在数据中洞察先机,发现业务的盲点和亮点,从?有能?做出更

    好的决策。

    5.6 分析数据

    经过前期的读取数据、清洗数据、操作数据、转换数据和整理数据,接下来我们将进?分析数据的阶

    段,这是数据分析?作的?中之?。

    假设你的客户(可能是你的领导,也可能就是你??),给你发来?份销售数据,他希望你分析分析,看看如何提?销?。

    你不妨先??思考?下,当你接到这个分析任务的时候,你会怎么做?然后再看看下?我是怎么做的,这也是?种对?思维,促进??多思考和总结,欢迎在?章下?留?分享你的想法。

    1. 明确?标

    上初中的时候,我们学过函数的概念,通常? y = f(x) 来表示函数,它包含 3 个要素:?变? x、因变

    · y 和对应法则 f。我们可以把函数中的 y 理解为?标,把 x 理解为数据,把 f 理解为实现?标的?

    法,要找到合适的?法不容易,这需要对业务有深刻的理解。

    数据分析的第?步,是明确业务的?标,关键在于搞清楚客户关?的是什么。如果未明确?标就进?数

    据分析,那么就如同旅?没有?的地,不知道终点在哪?。

    ·如说,客户的?标是提?销?,但这还不够明确,为了搞清楚客户的真正意图,你得了解更多的信

    息,多问?个「是多少」,使?标得到?化。例如:您希望销?提?多少?

    2. 应?思维

    现实世界复杂多变,我们通常应?思维来理解业务的实际情况。

    你的分析观点往往来?于你的分析思维,所以正确地运?好分析思维是?常?要的。

    参考《数据分析的 8 种思维》,?先,我们可以运?对?思维,对数据进?有效的对?,这是数据分析

    ·作的核??法之?。

    其次,我们运?细分思维,对数据进?细分,关键是要找出?效的对?因?,先分维度,再分粒度。通

    过多个维度的细分,将对?的差异按粒度逐级锁定,对问题进?定位,寻找问题的根源。

    然?,问题的答案可能还是没有找到,此时你可以运?溯源思维,密切关注更多的细节数据,想办法从

    原始数据中进?追溯,思考?户的?为特征,深?挖掘数据背后隐藏的信息。

    在数据分析的过程中,我们可以运?假设等思维,?胆假设,??求证。?论是构建复杂的分析模型,还是进?简单的数据决策,都要做出??的设想和判断。

    最后,要做好思想准备,如果通过分析,发现数据有违你的假设,那么就更加需要你进?详细思考,仔

    细推敲,在这个过程中,你对?户?为的理解也会逐渐加深,从?数据分析的功?也会得到增强。

    3. 处理数据

    假设经过整理后的销售数据如下表:

    我们? Python 进?读取并预览数据。

    通过观察发现,数据中包含每天的实际销?、?标销?和?标完成率,为了从更加宏观的层?,把握销

    售的整体情况,我们按?份进?汇总,?先,在表格最前?的位置插??列:?份。

    然后按?份进?汇总求和,?新计算?度汇总的?标完成率,并将汇总结果保存到 Excel ?件中。

    4. 分析推理

    仔细观察上?的?度汇总数据,你会发现,与 7 ?份进?对?,8 ?份的销?略有上升,但与?标进?

    对?,?标完成率反?下降,这是?个?较严?的问题。

    为了搞清楚这个问题产?的原因,你可以先进?探索性的数据分析。

    在 Python 中,有?个很实?的包:pandas-profiling,号称? 1 ?代码就能?成数据分析报告。如果

    你还没有安装的话,推荐你在命令?运??下:pip install pandas-profiling,然后在 Jupyter

    Notebook 中运?以下代码:

    这是?份?较详细的探索性数据分析报告,上图仅显示了其中??部分信息,往下拉,可以看到每个变

    ·的数据分布等情况。继续往下拉,还可以看到各个变?之间的相关性,从图中能够直观地看到:实际销?与?标完成率之间

    具有?较强的正相关性,这也很好理解,因为在?标销?变化不?的情况下,实际销?越?,?标完成

    率也就越?。

    在做进?步的分析之前,你还需要熟悉业务的背景,假设公司经营的业务是在?上商城卖化妆品,提?

    8 ?份?标销?,是因为 8 ?份加?了?告费的投?。但是,?告的效果并没有达到预期,所以?标完

    成率下降了。

    对于「如何提?销?」这样?个?问题,我们很难直接回答,可以试着细分为?问题,例如:哪种促销

    ·式效果更好?我们的?户希望得到什么?

    上?案例中的销?数据,已经按时间的维度做了划分,实际上,除了按时间维度进?细分以外,还可以

    尝试很多种不同的细分维度。?如说,按地区的维度:省份、城市等等,按销售渠道的维度:京东、天

    猫等等。

    现实情况往往是复杂的,需要你运?相关思维,理清各种关系。?如说,从?告展示,到?户点击,再

    到付款购买,形成?个销售漏?,每个环节都有相应的转化率指标。

    为了寻找提?销?的机会,你可以尝试运?假设思维,列出?些假设情况,例如:假设换种促销?式会

    怎么样?假设降低产品的价格会怎么样?

    假设你经过深?分析,在原始数据中,发现?些购买保湿霜的男性?户,?这些保湿霜原本是专?为?

    性?户设计的。经过调研,你知道了这些男性购买化妆品的?途,原来他们是?保湿霜来做剃须后的保

    养,这恐怕是?个有价值的发现。

    5. 提出建议

    你怀着激动的?情,开始撰写数据分析报告。此时你要记住,数据分析报告的?点,不是那些花?胡哨

    的图表,?是提出有效的?动建议。

    除?将数据分析?于做出更好的决策,否则,数据分析将毫??处。

    因此,作为?名数据分析师,要想?设法提出有效的?动建议,为业务创造价值。

    ·先,你要清楚地知道,??从数据中发现了什么,要指出不确定因素,??防范并想办法填补知识的

    空?,尽?避免作出过头的结论,对分析结果负责,积累??的信?,让客户更尊?和信任你,并理解

    你的分析和判断也具有局限性。

    其次,你提出的?动建议,?点是要得到客户的理解,?励客户以数据为基础,从?作出明智的决策。

    最后,在数据分析报告中,你需要简明扼要地阐述分析成果,并提出建议改善的措施。

    例如:我深?地分析了销售数据,做了很多种不同的?胆假设,并??检验了假设的合理性。我发现有

    ·群男性?户,他们??性的保湿霜,来做剃须后的保养。这群?对产品的需求很特别,但是,他们并

    不宣扬??的这种需求,导致我们平时很难发现他们。因此,建议推出男性更容易接受的剃须保养产

    品,增加对这群?的?告投放,我认为这将提?销?。

    ·结

    上?介绍了分析数据、解决问题的?种思路。

    ·先,明确业务的具体?标。

    其次,应?分析思维来理解业务的实际情况。再次,? Python 对数据进?汇总处理。

    然后,综合运?各种分析思维和分析?具,对数据进?分析推理。

    最后,得出主要的分析结论,提出有效的?动建议。

    下?是思维导图:

    第 6 章 数据化分析 Python 案例

    6.1 ?扑克牌演示数据分析

    扑克牌是我们常??种娱乐?具,玩法千变万化,为了提?学习 Python 知识的趣味性,我构建了?个

    扑克牌的数据框,将?它来演示?些 Python 数据分析的功能。

    畅想?下,假设利???智能的算法,让机器?学会各种扑克牌的玩法,?如说,德州扑克、桥牌、?

    地主等等,把机器?训练成玩扑克牌游戏的??,最终能否实现??能敌?就像 Alpha Go 战胜?类围

    棋冠军?样。

    说明?下,理解下?的?章,需要你先学习?些 Python 语?的基础知识,我先是看了《利? Python

    进?数据分析》这本书,并把学到的知识应?到了实际的?作中。为了让?章尽可能更加通俗易懂,我

    下???个扑克牌游戏来进?演示。

    ·先,安装好 Python 的运?环境,建议安装最新版本的 Anaconda,其中默认包含了数据分析所需的

    ·部分库。

    为了?便演示和分析,我安装了最新版本的 Jupyter Lab,在命令?输?:jupyter lab,就可以在浏览

    器中打开和新建 Notebook ?件。

    2. 构建?副扑克牌的数据框

    在 Jupyter Notebook 中输?以下代码,其中有?较详细的解释说明,如果有不懂或发现不对的地?,欢迎在?章下?留?。

    导?相关 Python 库运?结果如下:

    import numpy as np

    import pandas as pd

    import datetime

    from datetime import datetime

    import matplotlib

    import matplotlib.pyplot as plt

    import seaborn as sns

    设置最??列数

    pd.set_option('max_rows', 20)

    pd.set_option('max_columns', 10)

    显示两位?数

    pd.set_option('display.float_format', lambda x: '%.2f' % x)

    在 Jupyter Notebook 中显示图形

    %matplotlib inline

    构建扑克牌的数据框

    nums = list(range(2, 11))

    faces = DataFrame(['A'] + nums + ['J', 'Q', 'K'])

    values = DataFrame([np.arange(1, 14)] 4).T

    定义列名

    faces.columns = ['牌?']

    values.columns = ['红? ? ', '?桃 ? ', '梅花 ? ', '?块 ? ']

    合并两个数据框

    poker = pd.merge(faces, values,left_index=True, right_index=True)

    定义??王

    poker.loc[13] = ['?王'] + [np.NaN]4

    poker.loc[14] = ['?王'] + [np.NaN]4

    poker

    3. 描述性数据分析

    我们???代码,对扑克牌数据框做?个简单的数据分析:

    运?结果如下:

    从上?的结果可以看出,??王的缺失值 nan 没有统计在内,每种花?有 13 张扑克牌,平均值为 7,标准差为 3.89,最?值为 1,最?值为 13。其中 25% 代表第?个四分位数,50% 代表第?个四分位

    数,其实就是中位数,75% 代表第三个四分位数。

    这?稍微解释?下四分位数的概念,就是在数据排序后,处于某个位置上的值,?如说,中位数的位置

    在 12 的地?,去掉??王之后,每种花?有 13 张牌,7 刚好处于正中间,它的前?和后?都有 6 张

    牌。

    好好理解四分位数,这对我们做数据分析?常?要。

    描述性数据分析

    poker.describe

    4. 数据可视化

    我以前写过?篇《Python编程实践(2):数据可视化》,其中?的画图库是 pyecharts,在 Python

    语?下,数据可视化的库有很多,是?个?较热?的领域,如果你有兴趣,可以试着去探索更多数据可

    视化的?态系统。

    本?将使?的数据可视化库是 matplotlib 和 seaborn,具体代码如下:

    运?得到的下?这个图形,它把四分位数?较直观地展现了出来,让?对数据的整体分布状况有个整体

    的把握,如果其中有异常值,那么能够快速地发现。

    先设置字体格式,防?中?乱码

    sns.set_style(whitegrid,{font.sans-serif: ['simhei', 'Arial']})

    matplotlib.rcParams.update({'font.size': 16})

    绘制箱形图,设置标题和标签的字体??

    poker.plot.box(title='扑克牌点数的箱形图')

    显示?格线并设置样式

    plt.grid(linestyle='--', alpha=0.5)接下来,我们进?步探索,看看数据的相关性和分布情况:

    运?结果如下:

    5. ?个诈?花?游戏

    绘制成对的散点图矩阵,在对?线上显示密度估计值

    sns.pairplot(poker.iloc[:13],diag_kind='kde',markers='+',height=2,plot_kws=dict(edgecolor=b),diag_kws=dict(shade=True))

    诈?花,?叫三张牌,是?种?较流?的多?纸牌游戏,具有?特的规则,需要考验玩家的胆略和智

    慧。

    从表?上看,诈?花是?种??可以掌握??命运的游戏。如果你的牌不好,那么你可以跑,但是别?

    的牌可能?你更不好,你可能因此懊恼不已。相反,你可能以为??的牌很好,但是别?的牌可能更

    好。就像古??说《七杀?》中描述的那样,有?个叫杜七的武林??,?只??了七根?指,他出现

    后不久杀了?个?,但转眼就被?灭了,这就叫?外有?,天外有天。

    我? Python 写了?段代码,实现了简单的发牌功能。假设有两个?,去掉扑克牌中的??王后,每个

    ·随机发 3 张牌,将两个?拿到的牌分别保存到 Excel ?件中,具体代码如下:

    去掉??王

    poker_no_joker = poker.iloc[:13, 1:].unstack.reset_index

    把数据框变成只有 1 列

    poker_no_joker = pd.DataFrame(poker_no_joker)

    设置列名

    poker_no_joker.columns = ['花?', '索引', '点数']

    删除不?的列

    del poker_no_joker['索引']

    总共 52 张牌的索引

    poker_index = np.r_[0:52]

    person_num = 2

    poker_num = 3

    poker_choice = None

    循环发牌

    for i in range(person_num):

    for j in range(poker_num):

    随机选 1 张牌

    num = np.random.choice(poker_index, 1)

    刚开始没有牌

    if poker_choice is None:

    poker_choice = poker_no_joker.iloc[num]

    else:

    poker_choice = poker_choice.append(poker_no_joker.iloc[num])

    排除已发过的牌

    poker_index = poker_index[poker_index != num[0]]

    第 1、3、5 张牌给第?个?

    person1 = poker_choice.iloc[list(np.arange(0, 6, 2))]

    ·结

    我们试着?娱乐的精神学习 Python,?先,我们构建了?副扑克牌的数据框。然后,我们对其做了?

    个简单的描述性数据分析。接着,我们对数据进?可视化。最后,我们?了?个诈?花的?游戏,演示

    了 Python 的?些功能。

    6.2 ? Python 分析新型肺炎

    2020 年 1 ? 23 ?,国家卫?健康委员会通报了 17 个死亡病例的介绍,对这 17 个?样本的数据,我

    · Python 做了?点简单的数据分析。

    1. 读取数据

    ·先,在国家卫?健康委员会的?站上,有 17 例死亡病例病情介绍。

    http:www.nhc.gov.cnxcsyqtb2020015d19a4f6d3154b9fae328918ed2e3c8a.shtml

    我把??中的?字内容,复制到本地 data ?录下的?件中,然后? Pandas 中的 read_csv 函数读取?

    件中的信息。

    返回前 6 ?的信息如下:

    第 2、4、6 张牌给第?个?

    person2 = poker_choice.iloc[list(np.arange(1, 6, 2))]

    将两个?拿到的牌分别保存到 Excel ?件中

    dt_now = datetime.now.strftime('%Y-%m-%d %H%M%S')

    person1.to_excel('第?个?的三张牌-' + dt_now + '.xlsx')

    person2.to_excel('第?个?的三张牌-' + dt_now + '.xlsx')

    import pandas as pd

    读取?本信息

    df = pd.read_csv('.data新型肺炎病情介绍.txt', header=None)

    df.head(6)

    2. 处理数据

    为了?便下?的数据分析,我先对原始数据进?处理。

    通过观察数据发现,原始数据很不规范,逗号和顿号混?,所以我利?正则表达式提取其中的性别和年

    龄,合并为?个数据框,并按年龄进?分段:

    返回结果如下:

    import re

    运?正则表达式提取「性别」信息

    sex = df.applymap(lambda x: re.search(r'男|?', x).group)

    年龄

    age = df.applymap(lambda x: re.findall(r'\d+', x)[0]).transform(pd.to_numeric)

    合并性别和年龄数据

    df_concat = pd.concat([sex, age], axis=1)

    df_concat.columns = ['性别', '年龄']

    年龄分段

    bins = [0, 50, 60, 70, 80, 100]

    labels = ['<50', '50-59', '60-69', '70-79', '>=80']

    df_concat['年龄段'] = pd.cut(df_concat.年龄, bins=bins, labels=labels,right=False)

    df_concat 3. 展现数据

    为了更加直观地展现数据,我? matplotlib 库绘制相应的图形。

    ·先,我?饼图展现性别的占?数据:

    返回结果如下:

    导?绘图库

    import matplotlib.pyplot as plt

    防?中?乱码

    plt.rcParams['font.sans-serif'] = ['simhei']

    按性别分组计数

    sex_count = df_concat.groupby('性别')['性别'].count

    绘制饼图

    fig1 = plt.figure(figsize=(8, 8))

    ax1 = fig1.add_subplot(1, 1, 1)

    patches, l_text, p_text = plt.pie(sex_count, labels=sex_count.index,autopct='%1.1f%%')

    设置字体??

    for t in l_text:

    t.set_size(20)

    for t in p_text:

    t.set_size(20)

    图表标题

    plt.title('新型肺炎死亡病例的性别占?')

    plt.show其次,我?柱形图展现各年龄段的?数:

    按年龄段分组计数

    age_count = df_concat.groupby('年龄段')['年龄'].count

    绘制条形图

    fig2 = plt.figure(figsize=(8, 6))

    ax2 = fig2.add_subplot(1, 1, 1)

    设置字体??

    plt.rcParams.update({'font.size': 20})

    ax2.set_xlabel('年龄', fontsize=20)

    ax2.set_ylabel('?数', fontsize=20)

    plt.bar(age_count.index, age_count)

    图表标题

    plt.title('不同年龄段的死亡?数')

    plt.show

    返回结果如下:

    ·结

    从上?的两个图形?致可以看出,在通报的 17 个死亡病例中,有两个明显的特征:

    1、男性居多,占??达 76.5%;

    2、年龄较?,绝?多数都在 60 岁以上。

    由于上?数据的样本??常?,分析的结果?常简单,结论还有待进?步验证,仅作为抛砖引?,希望

    有更多的样本数据和专业分析公开出来,让数据分析成为疫情防控的助?。

    最近,?龄健康司发布了《关于做好?年?新型冠状病毒感染肺炎疫情防控?作的通知》,其中包含

    《给?年朋友的?封信》,我? Python 将这封信的内容做成了?张词云图:

    三、展现篇

    第 7 章 数据化分析的展现

    数据化分析的展现,主要包括数据可视化和数据分析报告的展示和呈现。

    7.1 数据展现的 8 个原则

    在整个数据分析的流程中,数据展现是?户能够看到的唯?环节。数据分析的成果,最终要展现出来,才能发挥它的价值,建议在这个?要的环节,投??够的时间和精?,不断修改完善和迭代升级,以免

    丢失许多创造价值的机会。

    展现的形式通常是图?并茂的数据分析报告,其?的是运?数据来反映业务的现状,通过分析发现业务

    的亮点和问题,提出可?的建议解决?案,帮助管理者做出科学有效的决策,降低业务?险。

    数据展现应遵循以下 8 条原则:

    逻辑严谨,思维缜密

    ·法适当,模型适?

    ·具恰当,图表专业

    数据可靠,客观真实

    结合业务,实事求是

    ·点突出,统?规范

    结论准确,建议合理

    科学有效,创造价值

    如果想要让数据发挥更?的价值,那么合理地运?数据展现的?法和?具,就显得特别?要。

    7.2 数据展现的图表选择

    根据数据分析的实际情况,需要有针对性地选择合适的数据可视化?法。但是可视化的图表花样繁多,我们应该如何选择并设计你的图表呢?

    下?这张图源? http:chart.guide 。

    下?把它拆分为 8 个部分,逐?进?介绍。

    7.2.1 类别?较

    当你需要对不同的类别进??较时,有很多种图形可供选择,其中条形图是最常?的,垂直瀑布图适合

    ·来?较并分析各个组成部分的变化情况,词云图适?于???本的分析和?较。

    7.2.2 时间趋势

    当你想要直观反映关键业绩指标随时间的变化情况时,?柱形图或曲线图是 ......

您现在查看是摘要介绍页, 详见PDF附件(10476KB,228页)