Python 现如今已成为数据分析和数据科学使用上的标准语言和标准平台之一。那么作为一个新手小白,该如何快速入门 Python 数据分析呢?
下面根据数据分析的一般工作流程,梳理了相关知识技能以及学习指南。
数据分析一般工作流程如下:
数据采集
数据存储与提取
数据清洁及预处理
数据建模与分析
数据可视化
1.数据采集
数据来源分为内部数据和外部数据,内部数据主要是企业数据库里的数据,外部数据主要是下载一些公开数据取或利用网络爬虫获取。(如果数据分析仅对内部数据做处理,那么这个步骤可以忽略。)
公开的数据集我们直接下载即可,所以这部分的重点知识内容是网络爬虫。那么我们必须掌握的技能有Python 基础语法、如何编写 Python 爬虫。
Python 基础语法:掌握元素(列表、字典、元组等)、变量、循环、函数等基础知识,达到能够熟练编写代码,至少不能出现语法错误。
Python 爬虫内容:掌握如何使用成熟的 Python 库(如urllib、BeautifulSoup、requests、scrapy)实现网络爬虫。
大部分的网站都有自己的反爬机制,所以还需要学习一些技巧去应对不同网站的反爬策略。主要包括:正则表达式、模拟用户登录、使用代理、设置爬取频率、使用cookie信息等等。
2.数据存储与提取
提到数据存储,数据库肯定是跑不掉的。SQL 语言作为数据库最基础的工具,必须掌握!常见的关系数据库和非关系数据库也需要有所了解的。
SQL语言:最基本的四大操作,增删改查。需烂熟于心,超级熟练!在分析过程中经常需要提取一些指定数据,所以能够编写 sql 语句去提取特定数据也是必备技能。在处理一些复杂数据的时候,还会涉及到数据的分组聚合、建立多个表之间的联系,这个也要掌握。
MySQL和MongoDB:掌握 MySQL 和 MongoDB 的基础使用,并且了解两个数据库的区别。只要学会了这两个数据库,其他的数据库在此基础上都能快速上手,轻松玩转。
3.数据清洁及预处理
往往拿到的数据是不干净的,存在数据的重复、缺失、异常值等等。这个时候我们就需要对数据进行清洁及预处理,解决掉干扰因素,才能更加精准地分析结果。
对于数据预处理,我们主要利用 Python 的 Pandas 库进行。
Pandas:用于数据处理的程序库,不仅提供了丰富的数据结构,同时为处理数据表和时间序列提供了相应的函数。主要掌握选择、缺失值处理、重复值处理、空格和异常值处理、相关操作、合并、分组等。
4.数据建模与分析
数据分析的重头戏,这部分已经不是单纯的处理数据了,需要掌握一定的数学概率知识和机器学习相关内容。
概率论及统计学知识:基本统计量(均值、中位数、众数等)、描述性统计量(方差、标准差等)、统计知识(总体和样本、参数和统计量等)、概率分布与假设检验(各种分布、假设检验流程)、条件概率、贝叶斯等其他概率论知识。
机器学习:掌握常用的机器学习分类、回归、聚类算法和原理,了解特征工程基础、调参方法以及 Python 数据分析包scipy、numpy、scikit-learn 等。并且能够选择一种算法模型对数据进行相应的分析,并得出分析结论。
NumPy:一个通用程序库,不仅支持常用的数值数组,同时提供了用于高效处理这些数组的函数。
SciPy:Python的科学计算库,对NumPy的功能进行了大量扩充,同时也有部分功能是重合的。Numpy和SciPy曾经共享基础代码,后来分道扬镳了。
随着项目实践量的不断增加,会逐渐了解到针对不同类型的问题该如何去选择算法模型,并且了解到如何通过特征提取、参数调节来提升预测到精度。
5. 数据可视化
数据可视化,这部分主要依赖于 Python 的 Matplotlib 和 Seaborn。根据以上的分析结果数据,进行可视化的展示,输出分析报告。
Matplotlib:一个2D绘图库,在绘制图形和图像方面提供了良好的支持。当前,Matplotlib已经并入SciPy中并支持NumPy。
Seaborn: 基于matplotlib的图形可视化python包。它提供了一种高度交互式界面,便于用户能够做出各种有吸引力的统计图表