前言
2017年11月29日,自己曾在公众号内写过一篇《聊聊我的R语言学习路径和感受》的文章,受到了很多朋友的关注和赞扬,同时,也有其他公众号在帮忙转载。当然,也有很多朋友也给我留言,能不能聊聊关于Python的学习建议,时隔一个多月,今天抽空再来谈谈自己学习Python的路程吧。
准确的说自己是从2014年的9月份开始接触Python的,那会由于工作需要,硬着头皮开始学习Python,不怕各位笑话,我的第一本Python启蒙书籍是《与孩子一起学编程》。这本书真的非常通俗易懂,从什么是变量、基本的数学运算、数据类型到复杂一点的控制流语法和应用,再到Python的几种数据结构讲解等等,同时也会将这些基础知识拼起来写一个和小孩一起玩的游戏(尽管自己对游戏没有什么兴趣,但还是照书抄代码了)。
说这段经历的目的是想说明,你必须得明确自己学习Python的目的是什么,因为对于一个初学者来说,经常向度娘或周边的朋友询问:“学习Python,有什么书可以推荐吗?”如果不搞清楚自己学习的目的,那这个问题其实是白问的。因为Python能做的事实在是太多了,对于这个问题,你会得到五花八门的答案,此时你也会疑惑,这么多可供选择的初级书,我该选择哪一本呢?所以,首先问自己,我学习Python是用它来搞运维?还是用它来做开发?还是用它来完成你的数据分析与挖掘?很显然,对于我来说,我应该是用它帮助我完成数据分析或挖掘的工作任务。
如果你对数据分析或挖掘感兴趣,那这篇文章也许对你会有一点帮助,接下来就跟大家分享一下自己学习Python的一点点经验,内容会涵盖Python基础储备、Python数据分析、Python数据可视化和Python数据挖掘几个部分。
Python基础储备
不管你学习什么新东西,都必须牢记一条,基础必须夯实牢,因为基础能够决定你能走多远。所以,学习Python也需要你静下心来好好的掌握一下它的基础知识,如基本的数据结构(列表、元组、字典)及对应的方法、字符串处理方法、控制流和自定义函数、正则表达式、文件处理、异常处理、类的创建等等。关于这部分的学习,有很多参考书可供选择,如:
《Python简明教程》:这是一本只有100页左右的小册子,你可以迅速的浏览并敲一遍代码,或多或少都会提升你的Python基础能力;
《笨方法学Python》:这本书同样非常的短小精悍,全书是以习题的形式让读者掌握有关Python的基础知识,里面的代码建议读者能够敲一遍;
《Python基础教程》:这本书的内容非常的详实,几乎覆盖了Python的所有基础知识点,当然有些章节你也并不需要都去看,读者可以根据自己的情况,有针对性的挑着看;
关于Python基础储备方面的书籍我就推荐这三本,书不在多,只要你用心看完一本书就是对自己的挑战,希望读者能够记住:基础决定你能走多远这句话。
Python数据分析
当你掌握了有关Python的基础知识后,你就可以尝试着去学习Python在数据分析和挖掘中的应用了。众所周知,随着大数据时代的到来,数据分析显得尤其重要和火热,那么相应的关于Python做数据分析的第三方模块也越来越多,例如numpy用于数值计算、随机数生成等功能、pandas用于数据的清洗和整理等功能、statsmodels和scipy用于统计建模和各种假设检验等功能、matplotlib用于数据数据可视化、sklearn用于常见的数据挖掘算法的落地等。目前市面上也有很多关于Python数据分析的书本,例如:
《利用Python进行数据分析》:太经典了,作者就是创建pandas模块的大牛,书中详细讲解了有关numpy、pandas、matplotlib等模块的常用函数技巧,同时也结合了一些案例加以说明,书末也简单介绍了Python在时间序列问题上的处理和金融与经济方面的应用;
《Python金融大数据分析》:如果你对金融比较感兴趣的话,这本书是一个不错的选择。不仅讲了有关金融方面的理论知识和应用案例,也同样讲解了很多基础知识,如常见的数据结构、数据可视化操作、数据操作、数学基础、统计学基础等;
《Python数据分析与挖掘实战》:这是一本很棒的实战书籍,结合Python这个工具讲解了有关数据分析过程中的数据探索和数据预处理,同时,也介绍了很多数据分析和挖掘的案例,一步步带着读者完成每一个实战项目的操作。例如,窃电行为识别、家电用户行为分析、电商用户行为分析等;
有关更多的类似numpy、pandas数据处理模块的讲解,读者可以自行查阅官网的文档说明。
Python数据可视化
数据可视化的目的就是让读数据的人留下直观而深刻的记忆,这也是数据分析过程中必备的技能,一方面方便自己和读者发现数据的规律和关系,另一方面也是数据的一种展现方式。关于专门讲Python可视化的书,在市面上并不多,这里就跟大家分享一本我认为非常棒的书吧:
《Python数据可视化编程实战》:本书涵盖了基本的统计图形,如条形图、饼图、直方图、箱线图、面积图、散点图等,还讲解了有关作图的细节,如坐标轴、刻度值、图例的处理等,除此,还单独将3D图作为一个章节进行讲解。如果你想了解关于地图的绘制,书中也有案例,只不过没有提到中国地图的绘制。
更多有关matplotlib模块的内容学习,读者可以查看官网的文档说明。关于数据可视化的实现,除了matplotlib这个模块,还有seaborn模块、bokeh模块、plotly模块等,同样你可以通过搜索关键词,到其对应的官网查看更多的帮助文档。
Python数据挖掘
数据挖掘部分相对而言要难一些,光实现数据挖掘的操作还不够,还需要一定的数学功底,正如吴恩达所说,数学只是机器学习的基础。对于一般常用的预测模型、分类模型和聚类模型都可以通过Python的sklearn模块实现,所以实操不难。重要的是理论知识的掌握,这里介绍几本理论方面的书:
《数据挖掘导论》:非常适合数据挖掘入门,内容详实,讲解的条理也很清晰;
《数据挖掘概念与技术》:同样是一本不可多得的好书,首先介绍挖掘方法的概念和理论知识,然后通过某些数据集来完成手工计算的过程,对于读者来说,具有代入感,学习起来也会比较有劲;
《统计学习方法》:是一本完全偏理论的书籍,包含了很多算法的推理过程,如knn算法、贝叶斯算法、决策树算法、支持向量机算法等,这些推理对读者的数学知识要求比较高;
书虽好,但都需要一定的数学基础才能看上面的内容,关于数学基础大学里学的高等数学、线性代数、概率论、统计学等基本上就够用了。如果觉得自己不够扎实,赶快去充充电哦。
再来推荐两本使用Python进行数据挖掘实战方面的书籍:
《Python数据挖掘入门与实践》:该书的译者尽然是英语专业学生,是不是惊呆了!全书通篇都是讲解有关数据挖掘的实战案例,如使用决策树预测获胜球队、使用神经网络破解验证码、使用k均值完成新闻语料的分类等等,基本是都是基于sklearn这个模块来实现的;
《机器学习实战》:这本书对读者的编程技能要求比较高,几乎所有的挖掘算法都是一个重复造轮子的过程(可能不太适合调包侠),我觉得该书的最大优点就是加强对算法的理解,一遍讲解算法,一遍通过基本的编程将算法进行重现;
结语
OK,关于个人学习Python的书籍推荐就分享到这里,如果你需要上面的提及的书籍,我已经将电子版的整理好了,你只需关注“lsxxx2011”公众号并回复“002”就可获得下载链接。
最后,我得通知大家,公众号原名称“每天进步一点点2015”这个名称我将改成“数据分析1480”。主要出于两个原因,一方面字太长,网友搜索起来比较不方便;另一方面1480这个数字涵盖了“每天进步一点点”的含义,因为它是1.01的365次方与0.99的365次方的比值。
来源:CSDN
作者:Sim1480
链接:https://blog.csdn.net/lsxxx2011/article/details/78987521