总结
实际上Python的进入前,能把软件学习好,学会用pandas
和numpy
包,基本是就完成了EDA(Exploratory data analysis)的大部分工作,分析简单的统计分析。
EDA 比如你想看, 一般的你想一个数据的分布,频率分布,看箱型图等; 均值、中位数、众数; 标准差等, 这些都属于EDA的范畴。
pandas
和numpy
会更复杂一些。
比如,我想看每一年的某个数据的均值,理论上我先将数据按年切割,然后再EDA,
这种操作属于pandas
和numpy
完成的,
另外,sql的作用和这里相似。
access不会,但是一般公司都会调用比较大量级的数据,基本上建表、更新、处理,保存都在线上,不会存入本地,因此你不太可能用access,你只不过在access连接线上数据库,给指令,但是不会把数据保存本地。
各种模型和算法都在sklearn
包,我基本是除了SVM支持向量机以外,大部分的模型都有日志,我还没整理好。
软件安装部分和前面的EDA部分,最好不要跳过。后面可以按需完成。
软件安装
anaconda, Python 3.6 version 选择安装3.6的版本,2.6在20年后就不更新了,点击这里。 Downloads | Anaconda
PyCharm安装参考这里。 PyCharm安装,这个你前期用到的少,类似于RStudio,复杂一些的编辑器。
预习,微信文章
简单的科学运算,参考这篇微信公众文章。 Python爱好者社区历史文章列表(每周append更新一次)
主要看这几个,大概2个小时能够练习完,主要在jupyter中操作。
- Python从零开始系列连载(1)——安装环境
- Python从零开始系列连载(2)——jupyter的常用操作
- Python从零开始系列连载(3)——Python的基本数据类型(上)
- Python爱好者社区历史文章列表(每周append更新一次)
- Python从零开始系列连载(4)——Python的基本数据类型(下)
…
- Python从零开始系列连载(5)——Python的基本运算和表达式(上)
- Python从零开始系列连载(6)——Python的基本运算和表达式(下)
- Python从零开始系列连载(7)——Python程序的基本控制流程(上)
- Python从零开始系列连载(8)——Python程序的基本控制流程(下)
- Python从零开始系列连载(9)——Python特色数据类型(列表)(上)
- Python从零开始系列连载(10)——Python特色数据类型(列表)(下)
- Python从零开始系列连载(11)——Python特色数据类型(元组)(上)
- Python从零开始系列连载(12)——Python特色数据类型(元组)(下)
预习,Datacamp
完成后开始进入datacamp的学习。 按顺序进行。 从前面的学习,你也知道了,数据处理中,python用到numpy和pandas两个包很多,因此你在之后练习的时候,要注意收集这两个包,实现数据处理的例子,类似于做数学题。
并且datacamp相关的学习笔记,我会记录,也就是一些比较重要的知识点,这部分的内容重要复习和查缺补漏了。它们的记录方式,逻辑性不强,因此还是建议你按照datacamp的学,如果遇到了没有解释的bug,再看笔记。
Learn Python for Data Science - Online Course 4个小时的课程,但是可以慢一点。第四章节是重点。
Intermediate Python for Data Science 4个小时的课程,这里会涉及pandas和loop,也就是循环。我感觉pandas对新手的友好度高,类似于R里面的tidyverse包1,因此你可以优先学习pandas > numpy > 其他。 loop很常见,比如一般的批量回归问题都可以解决。
Python Functions 3个小时的课程,这里会涉及到自建方程,这个很管用,减少重复的代码的工作,自己尝试使用numpy和pandas包的一些函数,嵌套,最后写一些自己的包。
Read Files in Python 1个小时的课程,这里涉及导入数据,csv和excel的导入,你要多注意,但是后面涉及sql和API的数据,你可以暂时不做,节约时间。
Cleaning Data in Python 5个小时的课程,这个章节是最重要的,涉及R里面tidyverse包几乎所有的数据处理方式,好好看,而且这个主讲人讲课结构非常清晰。
pandas Foundations 4个小时的课程, 刚开始都是复习pandas一些功能,可以加快速度。
Manipulating DataFrames with pandas 5个小时的课程, 都是针对
DataFrames
进行Manipulating
,类似于R中的dplyr
包。 datacamp pandas DataFrames 学习笔记 。Merging DataFrames with pandas 4个小时的课程, 都是针对
DataFrames
进行Merging
,类似于R中的dplyr
包和SQL的JOIN
函数。 datacamp pandas Merging DataFrames 学习笔记 。Introduction to Databases in Python 5个小时的课程, 主要讲连接数据库和使用sql语言,Python中主要使用包
sqlalchemy
[^sqlalchemy]。 Databases in Python 学习笔记 。Data Visualization with Python 学习笔记 4个小时的课程, 主要讲使用
matplitlib.pyplot
和seaborn
画图, 对joint plot、pair plot的分析还是很到位的, 对image转化为矩阵的解释也是很到位的, 建议一看。 Data Visualization with Python 学习笔记 。Statistical Thinking in Python (Part 1) 4个小时的课程, 主要讲使用
numpy
包理解各分布和simulation。 Exploratory data analysis in Python 学习笔记 。Statistical Thinking in Python (Part 2) 5个小时的课程。 对A/B测试等的方法解释非常到位,建议学习一下,统计思维很好。 Statistical Thinking in Python (Part-2) 学习笔记 。
第二部分
在基本熟悉了pandas
、matplotlib
、seaborn
和numpy
包,
线性回归、重要分布、样本检验后,
可以开始更加难的学习了。
当然这离机器学习还有一段路,但是以上应聘数据分析岗位已经够用了。
Python Data Science Toolbox (Part 2) 3个小时的课程。 更新的笔记, list comprehensions in Python 学习笔记 。
Unsupervised Learning in Python 4个小时的课程, 主要讲了一部分基本的特征工程的东西,比R课讲得清楚, 很可惜这个老师datacamp只有这门课, 相对来说,教Python的,理论部分是要清楚很多。 涉及PCA、KMeans、NMF,还不错。 更新的笔记, Unsupervised Learning in Python 学习笔记 。
Deep Learning in Python 4个小时的课程, 主要是神经网络的入门,之后还有课程。 Deep Learning in Python 学习笔记 。
Python: Network Analysis 4个小时的课程,没来得及学,但是我觉得神经网络不适合我现在的业务,用不太到,还不如好好研究监督学习,多搞搞决策树。 Network Analysis in Python Part 1 学习笔记 。
Extreme Gradient Boosting with XGBoost 4个小时的课程,主要讲xgboost,和随机森林并列trees类问题的最高境界,值得一学,但是老师教的不是特别好,业界出来的,主要讲集成方案,理论部分不足,需要自己看书。 Extreme Gradient Boosting with XGBoost 学习笔记 。
Supervised Learning with scikit-learn 4个小时的课程, 主要是监督学习,变量预处理, k-NN、回归、决策树、逻辑回归、SVM都有涉及,主要是k-NN。
Supervised Learning with scikit-learn 学习笔记 - A Hugo website 。
DrivenData: Machine Learning Course 4个小时的课程,
Tidyverse是RStudio的首席数据科学家* Hadley Wickham做的,常见的ggplot2等都是他写的。↩