总结
实际上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等都是他写的。 ↩︎