数据分析/用数据揭开科学决策的神秘面纱

去社区提问

简介:数据分析是把隐藏在杂乱无章数据中的信息提取出来,找出内在规律,可以帮助我们做出判断,采取适当行动。它有哪些流程?如何用Python分析?来一探究竟。

用数据揭开科学决策的神秘面纱

用数据说话

很多时候我们都是凭直觉做决定,常常导致今天说一件事,第二天又被完全推翻。而数据会更确定地告诉我们:“就是这样”。它提供了客观的答案,也可以结束争论,更有说服力。

小马同学和妈妈约定好这学期成绩稳定提高,可以得到一台Switch作为奖励(谁知道因为疫情Switch成了年度最佳理财产品,价格一路翻倍)

于是小马妈妈开始了表演:“哎?我记得上次月考好像是分数下降了啊。”

小马:“那次卷子难,分数大家都不高,我的排名靠前了呢。”

妈妈:“是吗?我只记得分数下降了。”

妈妈这间歇失忆的操作像极了期末复习背书时候的你。

幸好班主任老师早早做好了每个同学本学期的成绩浮动折线图,还把从开学到期末进步名次最大的三名同学罗列出来进行单独表扬。感谢班主任的神助攻,小马的Switch才如愿以偿到手。

再设想下,你刚就任一个销售公司大区总监,掌管着华北区200家客户,忽然收到一封邮件说这个月业绩KPI没有达标。那么第一件事,一定就是看数据。

差多少达标?

什么时候开始不达标的?

差距越来越大还是越来越小?

所有区域还是单个区域的问题?

依据这些数据再去做之后的调整和优化。

数据分析-职场必备技能

登陆招聘网站,点开几个岗位JD:

数据分析能力,已经成为各行业招聘人才的要求。不论你从事运营,产品,销售岗位,它都是一项职场必备技能。在这个数据驱动业务,辅助决策的背景下,数据分析所带来的商业价值对企业来说是非常重要的。实际业务中数据往往发挥以下作用:

  • 客观数据统一目标认知

在企业中如何进行成百上千人的协作,想要统一目标是一件令人头大的事情。比如今天老板定下了一个亿的小目标,那么这一个亿如何拆分,每月实现多少,具体到每个部门每个人如何负责,就要通过开会定目标来解决。数据就可以从各个维度出发来为每个部门制定合理的目标并且准确监控每个阶段目标达成率。

  • 利用数据精确迭代

以往情况下,业绩做的不好,老板火急火燎组织开会让大家说原因。有的说员工状态最近不好,有的说市场行情差。那老板又问了“你们说说如何解决?”大家给出的答案可能是通过福利激励大家,或者在管理上加强等等,其实内心慌的一批,也搞不清楚问题究竟出在了哪里。

从数据的角度需要把目标拆分到细分维度。因为你需要知道的当今发生的情况是由哪个细分维度引起的。只有这样才能精确定位,迭代优化。

比如是由于最近获客质量不好,发现用户的芝麻信用分数都比较低,那么下月的获客前可能会提前监测一下用户的芝麻分数;再比如发现是因为人手不够导致业绩降低,那么下个月经理就需要专注招聘;如果从数据中看出新客成交额不变,老客的成交额减少,那么显然老客户的维护就要重点关注。

总的来说,利用数据可以准确得知发生了什么,又如何改善,仿佛让我们拥有了上帝视角。

  • 量化和积累

数据是自动化和智能化的基础。有了数据之后可以进行算法建模,预测之后的业务走向,更好地规划,投入预算等。

Python数据分析?嗯,真香!

Python一个很大的特点是拥有巨大而活跃的科学计算社区,在数据分析和交互,探索性计算以及数据可视化方面都有广泛的应用。又有强大的第三方库,我们完全可以使用Python来解决数据分析问题,能用它来做许多有意思的事情。

《青你2》弹幕分析

前阵子频繁霸屏的青春有你2成为话题焦点,从rapper到reader,不间断喜提热搜。我们可以用数据分析看看,《青你2》哪些小姐姐是绝对的话题担当。

你是不是也喜欢边看节目边吐槽?我们爬取视频弹幕信息,解析数据可以获得高赞弹幕词云图:

弹幕中都关注哪些选手?从数据中我们可以看到,首当其冲欣欣子同学,当之无愧的话题女王。

看到这里不禁要发出一声虞书欣式“哇哦~”我才不会告诉你总决赛之前就用数据分析预测了出道名单。拉仇恨问一句:你pick的小姐姐出道成功了吗?

揭秘知乎大V

知乎可以说是国内目前最大的问答类社区,大家现在碰到问题可能第一时间会上知乎寻找答案,而不是百度一下。那么知乎上有哪些大V呢?普通用户关注哪些内容?利用Python爬虫和数据可视化可以轻松得到我们想要的答案。

从四个指标:关注,赞同,感谢,收藏数来看一看不同排行的顶流用户。

当然我们还可以继续结合不同维度对数据做分析处理,比如回答数量,发布文章总数,这里我们不过多讲解是要给后面埋下一个小伏笔,在后面的小节中,会结合代码和具体案例为大家详细讲述数据分析过程。学完一定成就感up up~

数据分析流程与常用模块

数据分析过程

数据分析是一个完整的过程,从一开始的明确需求到最后的结果呈现,我们可以将整个数据分析过程分为如下五个步骤:

每个步骤所做工作不同,前后衔接。

第一步,明确目的,明确将要进行的数据分析任务要解决什么问题,从哪些角度分析问题,采用哪些方法和分析指标。

第二步,数据获取,为了解决问题而想方设法进行数据的采集,可以通过调查问卷获取,也可以从数据库中获取。

第三步,数据清洗,把上一步获取到的数据中可能存在的数据错误、数据缺损处理掉。

第四步,数据分析,借助工具,对数据进行统计分析工作,比如,分类,聚合等。这是数据分析的主要处理步骤。

第五步,结果呈现,将分析结果以图表、分析报告等直观的形式进行展示。

常用模块

1.NumPy

NumPy是Python科学计算的基础包,这个包封装了多个可以用于数组间计算的函数供你直接调用。

2.pandas

pandas提供了我们能够快速便捷地处理结构化数据的大量数据结构和函数,兼具NumPy高性能的数组计算功能以及电子表格和关系型数据库灵活的数据处理功能。

3.matplotlib

matplotlib是最流行的用户绘制数据图表的Python库。它让你方便地制作线条图、饼图、柱状图以及其它专业图形。

4.SciPy

SciPy库依赖于NumPy,它提供便捷和快速的N维向量数组操作。是一组专门解决科学计算中各种标准问题域的包的集合。

房价趋势分析

看完上面的知识,相信你已经对数据分析的作用和流程有了初步的认识,现在是不是迫不及待想要赶紧进入实操环节~亲身体验完成一个小项目的成就感,马上就来满足你的小愿望~

我们先从一个最简单的案例开始,手把手带你入门。讲解过程中如果有些代码过程不能完全理解,也不必担心,重要的是了解整体流程思路和方法,在之后的课程中也有充足的时间进一步慢慢吸收。

首先第一步明确目的:现在我们要用数据探索一下大家关心的,热门城市房价发展趋势。

第二步获取数据,下面贴心地为你准备了2011-2020年各个城市的房价数据,存放在Excel表格中。

这份表格中的数据没有缺失和错误,为我们省去了第三步数据清洗的时间,看来可以直接拿来分析,开心。

然而呈现在你面前的是一堆眼花缭乱的数字,如何让它清晰直观地呈现出房价随时间发展的情况呢?现在就用Python试试看。

前面介绍了数据分析常用的模块,它们各自有不同的功能,需要时将它导入项目代码即可。导入的方法是使用import+模块名,看下面这段代码:

  1. import matplotlib.pyplot as plt
  2. import imageio
  3. import pandas as pd

这样就成功导入了过程中所需要的模块,用接下来几行代码读取表格数据:

代码练习:

编程区

  1. frames = []
  2. df = pd.read_excel('data_source_house.xlsx', index_col='年份')
  3. df

终端区

根据第一行的数据信息,我们能够得到这8个城市2011年的房价情况,可以绘制一个横向条形图来展示。

循环对每一行数据都进行同样操作,得到2011-2020每个年份的城市-房价数据条形图。

  1. # 数据上限
  2. xlim_num = 60000
  3. # 横坐标绘制跨度
  4. xlim_interval = 20000
  5. # 循环每年
  6. for year in df.index:
  7. # 获取行数据
  8. row_data_list = df.loc[year]
  9. # 按价格排序
  10. row_data_list.sort_values(ascending = True, inplace=True)
  11. # 设置外观相关信息
  12. font = {'family': 'SimHei',
  13. 'style': 'normal',
  14. 'weight': 'normal',
  15. 'color': '#FFFFFF',
  16. 'size': 20,
  17. }
  18. plt.rcParams['figure.figsize'] = (16.0, 9.0)
  19. plt.rcParams['axes.facecolor'] = '#0D0434'
  20. plt.rcParams['savefig.facecolor'] = '#0D0434'
  21. plt.rcParams['xtick.color'] = '#FFFFFF'
  22. plt.rcParams['ytick.color'] = '#FFFFFF'
  23. plt.rcParams['axes.edgecolor'] = '#FFFFFF'
  24. plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签
  25. plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号
  26. plt.tick_params(labelsize=20)
  27. plt.xlim((0, int(xlim_num)))
  28. plt.xticks(range(0, xlim_num, xlim_interval))
  29. # 绘制每个柱子种的数字
  30. for index, data in enumerate(row_data_list):
  31. plt.text(int(xlim_num) / 10, index, str(data), ha='left', va='center', fontdict=font)
  32. # 绘制柱形图,将图片存到文件 year.png
  33. plt.barh(row_data_list.index, row_data_list, height=0.35, facecolor='#2C43C2', edgecolor='white')
  34. plt.title(str(year), fontdict=font)
  35. plt.savefig('%s.png' % str(year))
  36. plt.close('all')
  37. # 将生成好的图片数据再读出,存储到图片帧列表frames中
  38. im = imageio.imread('%s.png' % str(year))
  39. frames.append(im)

运行后就自动生成了10张以年份命名的条形图,以年份命名,点开大图看一下效果~

最后一步,将所有png图片拼成gif动画,设定每秒一帧播放,就能清晰地统计出城市房价的发展情况啦:

  1. imageio.mimsave('data_gif.gif', frames, 'GIF', duration=round(1, 2))

特别提示:如果暂时不理解代码的含义也没有关系~只通过这些案例了解Python用途就达到了目标。12课时开始将进入详细的Python语法学习,要继续加油呀。

关于数据分析的简介就到这里啦,这只是个小预热,下节课开始正式进入案例分享时间,处理分析真实的数据~记得搬好小板凳,自备瓜子零食准时收看~想获取更多Python相关内容,欢迎扫描下方二维码,添加班主任微信。

扫描下方二维码,添加班主任微信

已经添加过班主任的同学,可以直接联系对应老师,无需重复添加哦。

数据分析 1/3

用数据揭开科学决策的神秘面纱

1.0x

恭喜完成本课时的学习!
坚持学习

行动力超过

累计学习

学习下一课时