2020-6-23 13:49:0 | 作者:老铁SEO | 0个评论 | 人浏览
系统地学习Python的数据分析库(Numpy、Scipy、Pandas等)是一个伪命题,真正有效的学习应该是基于数据分析实战。
脱
离实战的学习如纸上谈兵,只有经历过实战的考验,才能真正掌握所学的内容。之前答主在学习这些库的时候,花费了大量的时间研读练习各种教程,但是在实际项
目的过程中,仍然捉襟见肘,需要花费大量的时间查文档,去Google里搜答案。细想其中缘由,无非是因为表面上“系统”地学习了大量的函数和功能,但是
如果不能学以致用,那就无法做到熟能生巧,融会贯通。
对于初学者来讲,第一步是根据教程,对这些库建立基本的认识。可以参考以下材料:
推荐材料:PythonforDataAnalysis
推荐理由:这本书很全面,讲的很细,涵盖了Numpy、Scipy几个主要的数据分析库。但是这本书的缺点和优点一样明显,主要在于成书时间太早(2012年最后修改),部分内容有些陈旧,同时由于讲的很细,很多内容不太适合初学者。
阅读建议:前五章认真看一下,复制书里的代码,并能够调试运行成功,后面的章节根据需要挑着看。在建立基本认识之后,需要通过实战来进行强化,可以参考以下材料:
HarvardCS109DataScience
之前已经有同学提到过这门课,但是仍然要再安利一下。推荐这门课主要有如下原因
有视频教程,不会太枯燥。
涵盖面广,难度适中,适合入门。
课程包括了概率论、数理统计及机器学习等内容,这些都是实际工作中常用的分析工具。
理论与实践相结合,并以Python为主要编程语言。
涉及到一点文本分析以及MapReduce、Spark等内容
2.Kaggle竞赛
如果想更进一步的了解如何用Python进行数据分析,那么,Kaggle一定是最好的选择。这里汇集了来自全世界各地的数据分析高手,社区非常的活跃,
同时也有很多有趣的比赛及项目。从适合初学者入门的数字识别器、泰坦尼克号生存率预测,到奖金几万甚至几十万美元的竞赛,再到由各大公司,如
Facebook,Walmart等,举办的以招聘为导向的竞赛,你总能找到一款适合你的
题主提到的其他问题,我的回答是:
Python做数据挖掘是否足够强大?
Python做数据挖掘强大,很强大,非常强大。大部分高科技公司的数据部门以Python和R为主,越来越多传统行业的数据部门也在进行Python数据分析的尝试。
学习数据挖掘需要学习哪些知识呢?
可以参考热帖:如何成为一名数据科学家?数据挖掘是数据科学家应该具备的技能之一,大牛们已经给出了如何成为一名数据科学家的方法,照着做就可以了。
入门Python数据分析,请问看什么书籍?
如果你已经决定学习Python数据分析,但是之前没有编程经验,那么,这6本书将会是你的正确选择。
《Python科学计算》
从发行版的安装开始,这本书将科学计算及可视化的常见函数库,如numpy、scipy、sympy、matplotlib、traits、tvtk、mayavi、opencv等等,都进行了较为详细地介绍。由于涉及面太广,可能对于单个函数库来说还不够深入,但是这本书能够让人快速上手,全面了解科学计算所用到的常用函数库。进而在此基础上选择自己需要的函数库进行深入学习,相对来说要容易得多。
《NumPyBeginner'sGuide2nd》/《Python数据分析基础教程:NumPy学习指南(第2版)》
面向新手的一本Numpy入门指南。整本书可谓是短小精干,条理清晰,将Numpy的基础内容讲得清清楚楚明明白白。此书的作者还写过一本《NumPyCookbook》/《NumPy攻略:Python科学计算与数据分析》,但这本书相比于前者,就显得结构有些杂乱,内容上也有些不上不下,如果要看的话,建议看完第一本再来看这本。在这里还想顺便吐槽一下这两本书的中文书名翻译。为了能够多卖几本,出版社也是蛮拼的,想方设法都要跟数据分析几个字挂上钩,就好像现在某些书总要扯上云和大数据一样。此外,还有一本《LearningSciPyforNumericalandScientificComputing》的书,可以作为SciPy的入门教程来学习(似乎还没出中文版)。
《PythonforDataAnalysis》/《利用Python进行数据分析》
这本书也是从numpy讲起,侧重于数据分析的各个流程,包括数据的存取、规整、可视化等等。此外,本书还涉及了pandas这个库,有兴趣的可以看看。
《MachineLearninginAction》/《机器学习实战》
Python机器学习的白盒入门教程,着重于讲解机器学习的各类常用算法,以及如何用Python来实现它们。这是一本教你如何造轮子的书,但是造出来的轮子似乎也不怎么好用就是了。不过,对于立志要造汽车的人们来说,了解一下轮子的结构和原理,还是十分必要的。此外,打算阅读此书之前,如果各位的高数线代概率论都忘得差不多了的话,还是先补一补比较好。
《BuildingMachineLearningSystemswithPython》/《机器学习系统设计》
Python机器学习的黑盒入门教程。如果说上一本书是教你如何组装轮子的话,这本书就是直接告诉你怎么把轮子转起来以及如何才能转得更好。至于轮子为什么能转起来,请参阅上一本书。另外,可以配合《Learningscikit-learn:MachineLearninginPython》这本书来阅读(暂无中文版)。这本书是针对Python的机器学习库scikit-learn进行专门讲解的一本书,100页左右,可以作为官方文档的拓展读物。
《PythonforFinance》
教你用Python处理金融数据的一本书,应该是中国人写的,Packt出版,不过似乎现在还没有中文版。比起前面几本书,这本书专业性要强一些,侧重于金融数据分析。这本书我还没怎么看,也写不出什么更详细的介绍。之所以把它列出来,是因为在查资料的时候发现,O'Reilly年底似乎也准备出一本《PythonforFinance》。看来Python真的是越来越火了。
如何从零开始学python
在众多高大上的自学指导中,尝试做一股清流,把要讲清楚的都讲清楚,除了一堆资料之外,你能在学之前就有一个非常明显的结果倾向。
本文以《小白带你学Python》为内容方向,试图在繁杂的信息里,给你找到你学习Python的动力和路径,本文更新于2017年7月21日17:30;
========================正文分割线==========================
在前文中我们提到:
Python岗位有哪些呢?主要的岗位有这些:
Python全栈开发工程师(10k-20K)
Python运维开发工程师(15k-20K)
Python高级开发工程师(15k-30K)
Python大数据工程师(15K-30K)
Python机器学习工程师(15k-30K)
Python架构师(20k-40k)
目前应用最多的:全栈开发、数据分析、运维开发,今天我们就以这三个重点的岗位来做一下自学Python的规划,希望你在学之前就能有结果的来走得更远。
在这里我们建议大家用知识投资的《道、法、器、术、势》五个工具来完美的执行和落地自学Python,好了,废话不多书,我们来开始:
————————
第一:道——明确目标
其实很多人在学习Python之前很少想这个,因为很多人说:现在Python很火呀,所以我么需要学。这个其实跟你自己没有什么关系,例如:你曾经想做一个网站不会开发,现在可以做了,现在Python很火并且你也要学来找工作,未来Python很火,我具备了Python的技能会不错。
在一生中,我们或多或少总会卡到目标上。在一些我们擅长的领域,我们会有明确的目标,并且积极指导别人:亲!干事之前,你要先定目标啊!
王健林的小目标,大家在朋友圈也都看过了,他会定先挣它一个亿。
第二:法——做好你学习Python的系统规划
1.目前市场需求主流的岗位里,你得选择一个其中你目前看来可以学,并且最敢兴趣学习的方向;
2.在方向选择好后,对照招聘网站:拉勾、智联、Boss直聘等网站的岗位要求,进行学习内容的统计与大概的记录;
3.分模块的计划你学习这个模块的时间和完成的大概目标;
4.列出你可能出现的学习误差与为之准备的应对方案;
好了,你发现没有,其实任何学习重要的不是有什么资料,核心是如何学,学多久,有没有时间限制,遇到过自己多次学习某个内容或者其他人学习某个内容,最关键的一点是在起步阶段,开始属于激情期,激情在前面释放越多,后面的持续力就很弱,好了这就是关于学习计划。
废话说多了,那我们来看看一个普适性的学习Python的流程;
1天——下载并安装好学习环境:到www.python.org网站上下载一个python3.0以上的版本。我建议初学者,不要下载具有IDE功能的集成开发环境,比如Eclipse插件等。
4周——下载一些python的学习文档,比如《简明Python教程》,《笨办法学Python》等等。通过学习语法,掌握python中的关键字语法,函数语法,数学表达式、变量、数据结构、语法等等等
1.了解Python是什么,都能做些什么?
2.知道什么是变量、算法、解释器
3.Python基本数据类型
4.列表和元组的操作方法
5.字符串操作方法
6.基本的字典操作方法
7.任何知识它的基础知识都是有些枯燥的,现在我们就可以动手来做一些逻辑层面的东西了。掌握if、else、elif、while、for、continue、break和列表推导式等这些语句的使用,还有程序中的异常处理。
2周——看完基础后,就是做一些小项目巩固基础,python具备很好的交互学习模式,对于书本上的例子我们可以通过交互平台进行操练,通过练习加深印象,达到学习掌握的目的。
2周——通过以上三个步骤的学习后,我们大致掌握了python的常用方法、关键字用法以及函数语法等。接下去的学习上,我们就可以着手学习常用模块的使用,比如os,os.path,sys,string模块等。我们可以在交互环境中先熟悉使用其中的函数,如果遇到函数的使用上的问题,可以参考python安装后的自带chm帮助文件。
2周——为了更好得掌握python,我们的学习不能只是停留在学习一些语法或者api阶段。在此阶段中,我们可以尝试用python解决我们项目中遇到的一些问题,如果项目不是用python开发的,那我们可以想想能不能用python制作一些项目组可以使用的一些工具(utility),通过这些工具简化项目组成员的任务,提高我们的工作效率。如果没有项目,我们也可以自己找些题目来自己练习练习。
2周——Python库是Python的精华所在,可以说Python库组成并且造就了Python,Python库是Python开发者的利器,所以学习Python库就显得尤为重要:
2周——经过以上锻炼后,我们的python知识水平肯定是越来越高。接下去的学习,我们就要更上一层楼。为了学以致用,真正能应用于项目开发或产品开发,我们还必须学习企业应用开发中必须要掌握的网络和数据库的知识。在此的学习就不光是python语言本身的学习了,如果之前没有学习和掌握很网络和数据库知识,在此阶段我们可以借此机会补习一把。
3周——到此阶段,我们已经是真正入门了。在接下去的工作中,就是要快速地通过我们的所学来服务项目了。在此阶段,我们除了掌握python自带的模块外,我们最好在掌握一些业界广泛使用的开源框架,比如twisted、peak、django、xml等。通过熟练使用它们,达到闪电开发,大大节省项目宝贵时间。
《Python核心编程》,介绍了Python的一些具体领域的开发方法;
《Python网络数据采集》,很简单的爬虫入门书;
《利用Python进行数据分析》,介绍了Pandas和NumPy的用法;
《FlaskWeb开发》,如何用Flask写一个博客。
第三:术——你具体的学习手段
1.每天你计划学习多少时间?例如一天必须学2小时,每天坚持;
2.每个阶段的计划拖延时间不能高于多少时间?
3.如果一个阶段不顺利如何调整?
其实很多时候,并不是资料不够多,而是本身的学习思路和计划出现了问题,那么其实最后学习Python的结果会变成:懂得了很多道理,收集了很多资料,依然学不好Python。
第四:器——学习的工具和素材
在知乎的所有学习的评中,出来最多的就是书、视频、网站一大堆,很多人觉得非常的赞,确实如此,但是回头看,你的网盘里躺着的500G视频,还是没有让你学会Python,我给大家的建议是:少为多,学为多,做为多,完成为多,而不要做伸手党。
在主流的学习中,按照学习素材来分,我们分为这几大类:
——真人:有人给你准备好素材,过程计划,内容,让后你只要用心学就行,这个就是大家常说的培训,属于懒人成长式。(线下培训班)
PS:不做任何推荐
——视频:有人把学习的过程录制好,你只要按照要求跟着做就行,出现问题你无法及时找到。(真人视频、代码视频)
——书本:有人把学习过程帮你写出来,你只需要跟着书本的过程过就行,然后按照要求学习(实体书籍、电子书)
《简明Python教程》
《笨办法学Python》
书籍推荐如下:
————————————————————————
下面我们推荐6本高分书籍给大家,希望大家学习愉快:
1.Python编程:从入门到实践
豆瓣评分:8.8
内容简介:本书是一本针对所有层次的Python读者而作的Python入门书。全书分两部分:第一部分介绍用Python编程所必须了解的基本概念,包括matplotlib、NumPy和Pygal等强大的Python库和工具介绍,以及列表、字典、if语句、类、文件与异常、代码测试等内容;第二部分将理论付诸实践,讲解如何开发三个项目,包括简单的Python2D游戏开发如何利用数据生成交互式的信息图,以及创建和定制简单的Web应用,并帮读者解决常见编程问题和困惑。
豆瓣书友推荐:很好的入门书,简洁全面,适合小白。learningpython之类大砖头太不友好。这本虽然有些地方讲得不深入,但是对新手友好。
————————————————
2."笨办法"学Python
豆瓣评分:8.0
内容简介:本书是一本Python入门书籍,适合对计算机了解不多,没有学过编程,但对编程感兴趣的读者学习使用。这本书以习题的方式引导读者一步一步学习编程,从简单的打印一直讲到完整项目的实现,让初学者从基础的编程技术入手,最终体验到软件开发的基本过程。
ZedShaw完善了这个堪称世上最好的Python学习系统。只要跟着学习,你就会和迄今为止数十万Zed教过的初学者一样获得成功。
这本书会让你的每一分钟投入都有回报。Python是世界上最强大、最受欢迎的编程语言之一,很快你就会成为一名Python程序员。
豆瓣书友推荐:花了一周的时间看完,在以前的基础上零零碎碎学了一些新的东西,还算是有所收获,但是前面讲的很基础很简单,到ex40之后突然难度增加不是很懂在讲些什么。
————————————————
3.Python学习手册
豆瓣评分:8.1
内容简介:《Python学习手册(第3版)》讲述了:Python可移植、功能强大、易于使用,是编写独立应用程序和脚本应用程序的理想选择。无论你是刚接触编程或者刚接触Python,通过学习《Python学习手册(第3版)》,你可以迅速高效地精通核心Python语言基础。读完《Python学习手册(第3版)》,你会对这门语言有足够的了解,从而可以在你所从事的任何应用领域中使用它。
豆瓣书友推荐:用了两周的时间将这本书啃了一下,还有200多页的电子版没看,但还是忍不住先来评论。既是总结自己,也想帮助别人。
本书总评:
优点:解释详细,例子丰富;关于Python语言本身的讲解全面详尽而又循序渐进不断重复,同时详述语言现象背后的机制和原理;除语言本身,还包含编程实践和设计以及高级主题。
缺点:有些厚;翻译不佳;代码练习题很少;
————————————————
4.Python基础教程
豆瓣评分:8.0
内容简介:本书是经典教程的全新改版,作者根据Python3.0版本的种种变化,全面改写了书中内容,做到既能“瞻前”也能“顾后”。本书层次鲜明、结构严谨、内容翔实,特别是在最后几章,作者将前面讲述的内容应用到了10个引人入胜的项目中,并以模板的形式介绍了项目的开发过程。本书既适合初学者夯实基础,又能帮助Python程序员提升技能,即使是Python方面的技术专家,也能从书里找到令你耳目一新的东西。
豆瓣书友推荐:写得挺生动亲民的,很好的入门书。
————————————————
5.Python核心编程
豆瓣评分:8.0
内容简介:学习专业的Python风格、最佳实践和好的编程习惯;
·加强对Python对象、内存模型和Python面向对象特性的深入理解;
·构建更有效的Web、CGI、互联网、网络和其他客户端/服务器架构应用程序及软件;
·学习如何使用Python中的Tkinter和其他工具来开发自己的GUI应用程序及软件;
·通过用C等语言编写扩展来提升Python应用程序的性能,或者通过使用多线程增强I/0相关的应用程序的能力;
·学习Python中有关数据库的API,以及如何在Python中使用各种不同的数据库系统,包括MySQL、Postgres和SQLite。
豆瓣书友推荐:了解Python语言方方面面的不错选择,虽然版本有些旧,对于较晚接触Py的人来说,一个“副作用”是可以更多地了解Py的过去。
————————————————
6.流畅的Python
豆瓣评分:9.5
内容简介:本书由奋战在Python开发一线近20年的LucianoRamalho执笔,VictorStinner、AlexMartelli等Python大咖担纲技术审稿人,从语言设计层面剖析编程细节,兼顾Python3和Python2,告诉你Python中不亲自动手实践就无法理解的语言陷阱成因和解决之道,教你写出风格地道的Python代码。
豆瓣书友推荐:非常好的python进阶书,翻译的也不错,基本上没有错误。协程和元编程死了一堆脑细胞。之前也看了不少文章宣传py3,但看完这本才最终决定迁到py3。
————————————
——新闻:关于学习的碎片化的咨询和知识,来用于你的个人成长(微信、知乎、咨询流)
第五:势——学习的心态和状态
1.任何一个学习的过程,看起来很爽,但是做起来就未必了,老掉牙的坚持是必备的。
2.教程选择一到两个就OK了,不要求多;
3.多写代码,尽量让代码撸爽你;
4.尽量多出错;
————————————
最后给大家贡献个一月学会Python基础开发的训练计划:
时间分为4周,全部自学,仅提供大纲,适用于Web方向:
1、第一周:读完《笨办法学Python》;
2、第二周:写个爬虫,需要深入了解re、sqlite3、Queue等几个模块,做个简单爬取;
3、第三周:学习一种Web开发框架,推荐Flask、webpy、Django之类的,学个数据库,写个简单的web应用如博客;
4、第四周:给博客做个小功能并走完测试和服务器上架;
————————
以上为关于如何自学的一个流程,希望大家拍砖!
自学python可以有哪些资料?
那就推荐一些吧。
基础入门(DataScience方向为主):
1、《abyteofpython中文版》,零基础的人都可以看。
2、斯坦福的在线教程,入门级。PythonNumpyTutorial英文好的同学可以看看。
3、夯实python语言本身,建议看《PythonCookbook中文版》。
1、Web开发方向:看简单的框架flask,推荐《FlaskWeb开发:基于Python的Web应用开发实战》。
2、数据分析方向:看《利用Python进行大数据分析》,主要讲Pandas库,讲数据分析。很多金融巨头,用Python进行数据分析。
3、科学计算方向:《python_sci用python进行科学计算》。
4、AI的机器学习方向:《Hands-onMLwithScikit-learnandTensorFlow》。
5、AI的计算机视觉方向:《Python计算机视觉编程》。
6、网络爬虫方向:
有时间也可以去听听一些大数据讲座、沙龙等,比如加米谷大数据培训中心的活动、沙龙等,通常都会分享一些满满的干货,有问题也可以趁机问。也可以考虑参加专业系统的培训。