小白学 Python 数据分析(1):数据分析基础
各位同学好,小编接下来为大家分享一些有关 Python 数据分析方面的内容,希望大家能够喜欢。
人工植入广告:
PS:小编最近两天偷了点懒,好久没有发原创了,最近是在 CSDN 开通了一个付费专栏,用来发布去年写的没有出版的书稿,感兴趣的同学可以去看下(已经上传了一部分,第一章设置为了试读章节),主要是讲 SpringCloud 微服务方面的一些内容,整体排版下来如果是印在实体书上应该会超过 400 页,也算是一本比较厚的书,当然小编这个专栏的价格并不贵,只要 9.9 ,整体是没有经过审校的,可能错别字会比较多,当然,就这个价格,还要啥自行车呢。
数据分析是什么?
咱们言归正传哈,在所有事情的之前,先了解一件事情,什么是数据分析?
有问题当然是先百度啊,这还用问!
数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,将它们加以汇总和理解并消化,以求最大化地开发数据的功能,发挥数据的作用。数据分析是为了提取有用信息和形成结论而对数据加以详细研究和概括总结的过程。
数据分析的数学基础在20世纪早期就已确立,但直到计算机的出现才使得实际操作成为可能,并使得数据分析得以推广。数据分析是数学与计算机科学相结合的产物。
百度的这个释义看着有点没讲人话,小编来简单的总结汇总下:
数据分析这个东西有一个很重要的点是:大量数据 这个划重点了啊,要考的。
至于多大的数据叫大量数据,其实这个也没有一个准确的定义,可以认为 1MB 的数据是大量数据,也可以认为 1GB 的数据是大量数据,也可以认为 1PB 的数据是大量数据,但是不管怎么说,这个数据量一定要大,不能是几十条几百条的数据,这种数量级的数据一眼看到底。
接下来是第二个点:数学,对的,没看错,是数学,尤其是统计学,当我们拥有了大量的数据以后,使用数学的方式对数据进行一定程度的处理,接下来结合具体的业务分析数据,达到最终我们所需要的目的,比如对一些业务进行监控、提高企业的经营效率、优化企业的管理结构等等。
在没有计算机的年代,大量的数据即使有数学的支持,进行大数据分析也是一件很难的事情,多的不说,各位同学先思考一下,如果不借助计算器,如果有 1百万 个数据,需要简单的画一个折线图,人工处理需要多长时间。
所以百度百科最后一句话是数据分析是数学和计算机科学的相结合的产物。
就业前景
到这里肯定很多同学会问,数据分析这个职业的工作好不好找哇,这个职业每天主要是做什么呢?
关于这个问题,其实最好解决,直接上招聘网站看下相关的招聘信息和对这个岗位的要求就好了。
小编简单查了下 51Job 的上海地区的数据分析师的招聘信息,忽然发现一件事儿,感觉可能要砸很多培训机构的饭碗了,好像并没有大量的数据分析师的岗位要求掌握 Python 这个技能树啊。
简单看几个 JD :
公司信息小编抹掉了,从招聘信息中看到,好像数据分析和 Python 并没与什么实际的联系啊,对了,确实没有什么确切的关系,只能说是在处理大数据的是时候,现在使用 Python 比较方便,如果数据量没那么大的话,使用 Excel 一样能处理的。
如果学这个是为了找一份数据分析的工作,现在可以出门左转了,小编郑重声明,看了小编的文章是真的找不到一份数据分析的工作的。
如果是抱着技多不压身的目的,做一点提前的只是储备,那么可以接着往下看了。
为什么需要数据分析?
在聊这个问题之前,我们先看几个经典的大数据分析的案例:
1. 啤酒与尿布
全球零售业巨头沃尔玛在对消费者购物行为分析时发现,男性顾客在购买婴儿尿片时,常常会顺便搭配几瓶啤酒来犒劳自己,于是尝试推出了将啤酒和尿布摆在一起的促销手段。没想到这个举措居然使尿布和啤酒的销量都大幅增加了。如今,“啤酒+尿布”的数据分析成果早已成了大数据技术应用的经典案例,被人津津乐道。
2. Google成功预测冬季流感
2009年,Google通过分析5000万条美国人最频繁检索的词汇,将之和美国疾病中心在2003年到2008年间季节性流感传播时期的数据进行比较,并建立一个特定的数学模型。最终google成功预测了2009冬季流感的传播甚至可以具体到特定的地区和州。
数据分析可以把隐藏在大量数据背后的信息提炼出来,总结出来数据的内在规律。
数据分析这种方式逐步在取代企业中以前的那种拍脑袋的决策方式,因此越来越多的企业开始重视数据分析,这里从数据分析的招聘岗位上也可以看到。
工具
上面说了这么多数据分析的背景,其实只是想大致让各位同学了解下什么是个数据分析,不想看直接跳过也没啥关系。
关于数据分析的工具这个就是一个仁者见仁智者见智的事情了,工具实在是太多了,从 Excel 到各种各样的数据, SQL 语句, R 语言以及我们计划在未来介绍的 Python 。
具体工具的选择更多是看使用场景,如果在数据量不大的情况下,如果你正好对 Excel 的使用比较熟悉,那么 Excel 就是最优解,这个毋庸置疑。
如果数据量已经非常大了,存储在各种各样的结构化数据库中,那么 SQL 语言就是不可或缺的工具,在如果数据量已经非常大了,存储在大数据集群上,那么使用 R 语言或者 Python 或许是一个不错的选择。
在 Python 中,有三个工具包被称为数据分析三剑客: Pandas 、 Numpy 、 Matplotlib 。
Pandas
Pandas 是什么?
Pandas是一个强大的分析结构化数据的工具集;它的使用基础是Numpy(提供高性能的矩阵运算);用于数据挖掘和数据分析,同时也提供数据清洗功能。
利器之一 DataFrame:
DataFrame是Pandas中的一个表格型的数据结构,包含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型等),DataFrame即有行索引也有列索引,可以被看做是由Series组成的字典。
利器之一 Series:
它是一种类似于一维数组的对象,是由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成。仅由一组数据也可产生简单的Series对象。
Numpy
Numpy 是什么?
NumPy是使用Python进行科学计算的基础软件包。除其他外,它包括:
- 功能强大的N维数组对象。
- 精密广播功能函数。
- 集成 C/C+和Fortran 代码的工具。
- 强大的线性代数、傅立叶变换和随机数功能。
利器之一 Ndarray:
NumPy 最重要的一个特点是其 N 维数组对象 ndarray,它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。ndarray 对象是用于存放同类型元素的多维数组。ndarray 中的每个元素在内存中都有相同存储大小的区域。
利器之一 切片和索引:
ndarray对象的内容可以通过索引或切片来访问和修改,与 Python 中 list 的切片操作一样。ndarray 数组可以基于 0 - n 的下标进行索引,切片对象可以通过内置的 slice 函数,并设置 start, stop 及 step 参数进行,从原数组中切割出一个新数组。
Matplotlib
官网:https://www.matplotlib.org/
中文网:https://www.matplotlib.org.cn/
Matplotlib 是什么?
Matplotlib 是一个 Python 的 2D 绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。
Matplotlib 能帮你?
绘制线图、散点图、等高线图、条形图、柱状图、3D 图形、、甚至是图形动画等等。
因为小编是要分享 Python 相关的内容,那么当然接下来的文章将会围绕上面这三个工具展开,我们会详细的聊聊这个 Python 数据分析三剑客的使用方式。
作者:极客挖掘机
定期发表作者的思考:技术、产品、运营、自我提升等。
本文版权归作者极客挖掘机和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
如果您觉得作者的文章对您有帮助,就来作者个人小站逛逛吧:极客挖掘机