以前有一点python2.7的基础,由于公司突然宣布转行进军互联网,想系统的学习python,求推荐书

所有回答(9)
可以的,Python比较适合入门,但感觉国内需求不是特别的大(相比PHP、Java等主流开发语言而言),也许不是很容易找工作。
Python基础教程
Python核心技术
关键是开始学习,至于从哪儿开始真不是特别重要,除非你已经有限定的从业方向。
园豆:23129
园豆:2630
园豆:23129
为什么不学我大NET,呵呵。
任何东西都是越学越多,先定性自己的专业和性格,才可从业,不可盲从,如果有不错的基础,可以找个辛苦点的公司先学学,再择业会更好,没基础的话建议去培训一下,放心,很快就会把本钱收回来的。
此书可以保证10岁以上的孩子学得会。
python安装
选择 2.7及以上版本
linux: 一般都自带
python2.7 tutorial主要学习python的基本语法, 常用的结构(元祖,列表, 字典)
dive into python通过实例学习python基本库的使用
python library reference
python web框架 - uliweb (这个框架文档比较全, 入门也很简单, 用它做点小东西可以增加学习的动力)
uliweb 安装
从仓库安装
easy_install Uliweb pip install Uliweb
git clone git:///limodou/uliweb.git cd uliweb python setup.py install
github上有完整的文档:&包含示例, 视频, 分享.
如果采用前后端完全分离的方式开发, 重点关注uliweb的:
园豆:3275
python核心编程 &第二版
建议从C语言开始学。
python 学习手册。kindle可以买。
&&&您需要以后才能回答,未注册用户请先。2858人阅读
Python(31)
一、Python程序的结构
Python的程序由包(package)、模块(module)和函数组成。包是由一系列模块组成的集合。模块是处理某一类问题的函数和类的集合。如下图所示:
包就是一个完成特定任务的工具箱,Python提供了许多有用的工具包,如字符串处理、图形用户接口、Web应用、图形图像处理等。这些自带的工具包和模块安装在Python的安装目录下的Lib子目录中。
包必须至少含有一个__int__.py文件按,该文件的内容可以为空。__int__.py用于标识当前文件夹是一个包。
Python的程序是由一个个模块组成的。
(一)模块的创建
模块把一组相关的函数或代码组织到一个文件中。一个文件既是一个模块。模块由代码、函数或类组成。
例如,创建一个名为“myModule.py”的文件,即定义了一个名为“myModule”的模块。在该模块中定义一个函数func()和一个类MyClass。MyClass类中定义一个方法myFunc():
#自定义模块
def func():
print &MyModule func()&
class Myclass:
def myFunc(self):
print &MyModule MyClass myFunc()&
然后在myModule.py所在的目录下创建一个名为“call_myModule.py”的文件。在该文件中调用myModule模块的函数和类:
#!/usr/bin/env python
# -*- coding=utf-8 -*-
#Using GPL v2.7
#调用自定义模块的类和函数
import myModule
myModule.func()
myClass = myModule.MyClass()
myClass.myFunc()
输出结果:
---------- python2.7 ----------
MyModule.func()
MyModule.MyClass.myFunc()
输出完成 (耗时 0 秒) - 正常终止
myModule.py和call_myModule.py必须放在同一个目录下或放在sys.path所列出的目录下,否则,Python解释器找不到自定义的模块。
当Python导入一个模块时,Python首先查找当前路径,然后查找lib目录、site-packages目录(Python\Lib\site-packages)和环境变量PATHONPATH设置的目录。如果导入的模块没有找到,在以上路径搜索一下是否含有这个模块。可以通过sys.path语句搜索模块的查找路径。
(二)模块的导入
在使用一个模块中的函数或类之前,首先要导入该模块。模块的导入使用import语句。
模块导入的格式如下:
import module_name
这条语句可以直接导入一个模块。调用模块的函数或类时,需要以模块名作为前缀。
从模块中调用函数和类的格式如下所示:
module_name.func()
如果不想在程序中使用前缀符,可以使用from…import…语句将模块导入。
from…import…语句的格式如下所示:
from module_name import function_name
但是from…import…语句容易造成代码可读性差等问题。
导入模块下所有的类和函数,可以使用如下格式的import语句:
from module_name import *
同一个模块文件支持多条import语句。
例如,定义一个名为myModule的模块。该模块定义一个全局变量count和一个函数func()。每次调用函数func(),使变量count的值加1:
def func():
global count
count = count + 1
return count
多次导入myModule模块,以便查看变量count的结果:
#!/usr/bin/env python
# -*- coding=utf-8 -*-
#Using GPL v2.7
import myModule
print &count =&,myModule.func()
myModule.count = 10
print &count =&,myModule.func()
import myModule
print &count =&,myModule.func()
输出结果:
---------- python2.7 ----------
count = 11
count = 12
输出完成 (耗时 0 秒) - 正常终止
Python中的import语句比Java的import语句更加灵活。Python的import语句可以置于程序中任意的位置,甚至可以放在条件语句中。
#!/usr/bin/env python
# -*- coding=utf-8 -*-
#Using GPL v2.7
#import置于条件语句中
if myModule.count & 1:
myModule.count = 1
import myModule
print &count =&,myModule.count
(三)模块的属性
模块有一些内置属性,用于完成特定的任务,如__name__、__doc__。每个模块都有一个名称。
__name__用于判断当前模块是否是程序的入库,如果当前程序正在被使用,__name__的值为“__main__”。通常给每个模块都添加一个条件语句,用于单独测试该模块的功能。
例子:创建一个模块myModule
#!/usr/bin/env python
# -*- coding=utf-8 -*-
#Using GPL v2.7
if __name__ == '__main__':
print 'myModule作为主程序运行'
print 'myModule被另一个模块调用'
输出结果:
---------- python2.7 ----------
myModule作为主程序运行
输出完成 (耗时 0 秒) - 正常终止
创建另一个模块call_myModule。
#!/usr/bin/env python
# -*- coding=utf-8 -*-
#Using GPL v2.7
import myModule
print __doc__
输出结果:
---------- python2.7 ----------
myModule被另一个模块调用
输出完成 (耗时 0 秒) - 正常终止
(四)模块的内置函数
Python提供了一个内联模块bulidin,该模块中定义了一些软件开发总经常用到的模块,利用这些函数可以实现数据类型的转换、数据的计算、序列的处理等功能。
1、apply()
apply()可以实现调用可变参数列表的函数,把函数的参数存放在一个元组或序列中。
apply()的声明如下:
apply(func[,args[,kwargs]])
参数func是自定义的函数名称;
参数args是一个包含自定义函数参数的列表或元组。args如果省略,则表示被执行的函数没有任何参数。
参数kwargs是一个字典。字典中的key值为函数的参数名称,value值为实际参数的值。
#!/usr/bin/env python
# -*- coding=utf-8 -*-
#Using GPL v2.7
def sum(x = 1,y = 2):
return x + y
print apply(sum,(1,3))
输出结果:
---------- python2.7 ----------
输出完成 (耗时 0 秒) - 正常终止
apply()的元组参数是有序的。
2、fiter()
filter()可以对某个序列做过滤处理,对自定义函数的参数返回的结果是否为“真”来过滤,并一次性返回处理结果。
filter()的声明如下所示:
filter(func or None,sequence) -& list,tuple,or string
参数func是自定义的过滤函数,在函数func(item)中定义过滤的规则。如果func为None,则过滤项item都为真,返回所有的序列元素。
参数sequence为待处理的序列。
filter()的返回值是由func()的返回值组成的序列,返回的类型与参数sequence的类型相同。例如,参数sequence为元组,则返回的类型也是元组。
例子:从给定的列表中过滤出大于0的数字。
#!/usr/bin/env python
# -*- coding=utf-8 -*-
#Using GPL v2.7
def func(x):
print filter(func,range(-9,10))
输出结果:
---------- python2.7 ----------
[1, 2, 3, 4, 5, 6, 7, 8, 9]
输出完成 (耗时 0 秒) - 正常终止
filter()中的过滤函数func()的参数不能为空,否则,没有可以存储sequence元素的变量,func()也不能处理过滤。
3、reduce()
对序列中元素的连续操作可以通过循环来处理(例如对某个序列中的元素累加操作)。Python提供的reduce()也可以实现连续处理的功能。
reduce()的声明如下所示:
reduce(func,sequence[,initial])-&value
参数func是自定义的函数,在函数func()中实现对参数sequence的连续操作。
参数sequence为待处理的序列。
参数initial可以省略,如果initial不为空,则initial的值将首先传入func()进行计算。如果sequence为空,则对initial的值进行处理。
reduce()的返回值是func()计算后的结果。
例子:实现对一个列表中的数字进行累加的操作。
#!/usr/bin/env python
# -*- coding=utf-8 -*-
#Using GPL v2.7
def sum(x,y):
return x + y
print reduce(sum,range(0,10))#<span style="color: #+1+2+3+4+5+6+7+8+9
print reduce(sum,range(0,10),10)#<span style="color: #+0+1+2+3+4+5+6+7+8+9
print reduce(sum,range(0,0),10)#range(0,0)返回空列表,所以返回结果就是10
输出结果:
---------- python2.7 ----------
输出完成 (耗时 0 秒) - 正常终止
如果reduce()进行累计计算,必须在sum中定义两个参数,分别对应加法运算符两侧的操作数。
map()可以对多个序列的每个元素都执行相同的操作,并组成列表返回。
map()的声明如下所示:
map(func,sequence[,sequence,...])-&list
参数func是自定义的函数,实现对序列每个元素的操作。
参数sequence为待处理的序列,参数sequence的个数可以是多个。
map()的返回值是对序列元素处理后的列表。
例子:实现列表中数字的幂运算。
#!/usr/bin/env python
# -*- coding=utf-8 -*-
#Using GPL v2.7
def power(x):return x**x
print map(power,range(1,5))
def power2(x,y):return x**y
print map(power2,range(1,5),range(5,1,-1))
---------- python2.7 ----------
[1, 4, 27, 256]
[1, 16, 27, 16]
输出完成 (耗时 0 秒) - 正常终止
如果map()中提供了多个序列,则每个序列中的元素一一对应进行计算。如果每个序列的长度不相同,则短的序列后补充None,再进行计算。
常用的内联函数如下表所示:
三、自定义包
包就是一个至少包含__int__.py文件的文件夹。Python包和Java包的作用是相同的,都是为了实现程序的重用。把实现一个常用功能的代码组合到一个包中,调用包提供的服务从而实现重用。
例如,定义一个包parent。在parent包中创建两个子包pack和pack2.pack包中定义一个模块myModule,pack2包中定义一个模块myModule2.最后在包parent中定义一个模块main,调用子包pack和pack2.如下图所示:
包与模块的树形关系图
包pack的__int__.py程序如下所示:
#!/usr/bin/env python
# -*- coding=utf-8 -*-
#Using GPL v2.7
if __name__ == '__main__':
print '作为主程序运行'
print 'pack初始化'
这段代码初始化pack包,这里直接输出一段字符串。当pack包将其他模块调用时,将输出“pack包初始化”。
包pack的myModule模块如下所示:
#!/usr/bin/env python
# -*- coding=utf-8 -*-
#Using GPL v2.7
def func():
print &pack.myModule.func()&
if __name__ == '__main__':
print '作为主程序运行'
print 'pack初始化'
当pack2包被其他模块调用时,将首先执行__int__.py文件。
pack2包的__int__.py程序如下所示:
#!/usr/bin/env python
# -*- coding=utf-8 -*-
#Using GPL v2.7
if __name__ == '__main__':
print '作为主程序运行'
print 'pack2初始化'
包pack2的myModule2模块如下所示:
#!/usr/bin/env python
# -*- coding=utf-8 -*-
#Using GPL v2.7
def func2():
print &pack2.myModule2.func()&
if __name__ == '__main__':
print '作为主程序运行'
print 'pack2初始化'
下面的main模块调用了pack、pack2包中的函数:
#!/usr/bin/env python
# -*- coding=utf-8 -*-
#Using GPL v2.7
from pack import myModule
from pack2 import myModule2
myModule.func()
myModule2.func2()
__init__.py也可以用于提供当前包的模块列表。
例如,在pack包的__init__.py文件前面添加一行代码:
__all__ = [&myModule&]
__all__用于记录当前pack包所包含的模块。其中方括号中的内容是模块名的列表,
如果模块数量超过两个,使用逗号分开。通力,在pack2包也添加一行类似的代码:
__all__ = [&myModule2&]
这样就可以在main模块中一次导入pack、pack2包中所有的模块。
修改后的main模块如下所示:
#!/usr/bin/env python
# -*- coding=utf-8 -*-
#Using GPL v2.7
from pack import *
from pack2 import *
myModule.func()
myModule2.func2()
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:143037次
积分:1849
积分:1849
排名:第15053名
原创:58篇
(3)(1)(16)(1)(8)(2)(28)用 Python 进行数据分析,不懂 Python,求合适的 Python 书籍或资料推荐?
按投票排序
更新:根据知友的反馈,需要向知友们解释的是,我和朋友的专栏虽然关注人数挺多的(7000+),但是主要面向深度学习和增强学习,数据分析方面的内容极少,请专攻数据分析的知友们注意。个人猜测题主只是需要一个轻量级快速上手的干货教程,于是就不推荐各种书籍,给出一个一小时内的教程:推荐教程:斯坦福CS231n的预备教程:。在我的专栏里有翻译好的版本:推荐理由:由于CS231n全部作业要求是Python完成,所以该教程是面向零基础的学习者,介绍了Python中Numpy,Scipy和Matplotlib这3个基础库的最常用内容,良心干货。教程内容:目录如下供参考:Python基本数据类型容器列表字典集合元组函数类Numpy数组访问数组数据类型数组计算广播SciPy图像操作MATLAB文件点之间的距离Matplotlib绘制图形绘制多个图形图像后续建议:推荐安装Anaconda平台进行后续学习。Anaconda默认安装各种主流科学计算、工程和数据分析库,使用的交互方式是IPython Notebook(已经改名为Jupyter Notebook)。相关介绍在知乎关于Anaconda的提问中已经有人详细介绍,这里就不赘述了。回答完毕,祝顺利。
1、首先你要了解Python语言的整个架构和一些基本概念,也就是所说的Python入门,这里推荐资料:,很适合初学者,概念的讲解简单明了。还有大量的练习,跟着做会有很快的提高。2、基本了解了python后,还要学习一些用于数据分析的工具,也就是一些基于python的科学计算库。赞同 答案中提到的系列工具,尤其是工具包,可以说是用Python进行数据分析的最常用的。另外对于数据分析,少不了数据的可视化(也就是画图),首选,在Linux下非常好用,画出来的图很漂亮。还有一个工具包,这个工具包主要针对机器学习领域进行数据分析的,里面大量的实例。几乎各种数据分析方法在里面都能找到相应的实现,一些程序有针对性的修改一下就可以了。3、以下是一些不错的参考资料:,官方文档的中文翻译,适合快速入门;,适合matplotlib快速入门;,这个人手把手教你用python做Data
Analysis;有视频(只不过视频是放在YouTube上的,需要梯子),有代码,强烈推荐。,,另外两个Python教程。---------------------------7月11日更---------------------------考虑到numpy的重要性,然而学习的时候,光看一些文档真的很难记住和理解一些对象的操作方法,这里提供给大家一个练习numpy的资料:,一共80多个小例子,常见的数组操作和一些编程小技巧,这里都会涉及到,跟着做能学到很多。安利给大家一个学习Python的网站:。这是一个在线学习编程知识的网站(不光可以学Python),有了它,即使你没有在电脑上配置Python环境,仍然可以学习Python编程,很方便。重要的是它的交互做的也很好,概念的讲解和配套的联系都有。它的界面是这样:最后,觉得答案有用,帮忙点个赞呗,收藏的好多,赞只有一点点。。。
我自己的硕士论文是用Python做数据分析的()这个回答,可能不是很适合题主。题主应该就是想稍微用一下Python. 我这里介绍的是系统性、偏重使用的。1. 什么样的教程最好,最快、最适合入门对于0基础的人来说,最简答的办法是从例子开始。比如说,一个实际的数据分析,然后你跟着走一边,从读入数据、画图,怎么解释数据,其实就都大概懂了。而不是先去学Python语言特性,然后再去看某些库的文档(Numpy, Matplotlib, Pandas等等)。另外重要的,就是最好能有视频教程。因为你可能也不知道怎么安装、使用Python和相关的库,怎么使用Git, 用什么样的编辑器(IDE)来写代码等等。这些东西,如果有视频的话,其实就一目了然了。看起来比书快很多。也就是说最理想的教程,应该是以例子入手(而不是Python基础、要素入手),而且最好有视频2. 具体教程国内中文的教程不清楚;英文的话,目前没有碰到过特别优秀的,完全符合上述要求的说说我熟悉的教程,都是英文的①Havard CS109 Data Science 首推。内容包括最基础的概率、统计分析,到更深的Machine Learning。既包括理论内容讲解,也包括实际的编程(用的Python)。课堂讲解、程序均有相应视频(而且有英文字幕)。有案例作业,拿数据进行分析,可以仔细的学习参考答案里面的代码(也就是有编程案例)。完全免费。不过,为什么还要学概率论这些一大堆东西?(这也是我最开始说的,这篇答案不是适合楼主的轻量级需求)因为,你以为你想要学的是Python, 而实际上是分析数据的方法,这个是任何文档、编程的书无法教给你的。但却是最重要的。也就是背后的理论、思考等等。这个教程唯一的缺点,就是没有书。很难去快速查询、复习。比如再学完这门课,碰到一个东西,想要查的时候。无从查起。②Udemy, Learning Python for Data Analysis and Visualization 当时,按照我对于理想教程的要求,买的。Udemy上评价最好,卖得最好的教程然而,并不好。不推荐。为什么?因为这里的视频,仅仅是把文档重新讲了一遍,在最后才有一个例子。没有人需要先学习如何“查询数据”,如何“画柱状图”。这种东西大家都可以搜得到。真正缺乏的,是以问题为导向,把这些东西实际运用起来。对我来说,这个教程最大的好处,是知道了Kaggle,可以瞻仰一下真正大牛们是怎样用Data Science来解决问题的剩下的,就没有什么教程了。也就是我开始说的,缺乏系统性的教程。只是,再次强调一下,不学什么。不从0开始学Python语言。为什么?简单的If, For loop这些,其实大家都会。Python的基本语言,一看就懂,完全不需要在开始去系统的读Python的教学。真正缺的,反而是例子,而且是使用Pandas, Matplotlib等等库的例子。这样子,能够在最短的时间内,见到学习效果。只有当你真正发现,Python不会写。或者代码组织很麻烦。或者看到的代码不理解的时候,才需要去认真学Python语言。其实这个时候,也才真正学得进去。或者,可以直接读《Data Science from Scratch: First Principles with Python》,里面Python Crash Course一部分,1个小时就足够了解Python的基本语法和一些特性。 这本书里其他的东西,就完全不要看了。因为是讲的是如何去实现Pandas, Numpy中的某些内容。而没有讲实际Pandas, Numpy等等的使用技巧。3. 一些补充就像上面说的,Python只是一门语言。一般的数据分析,Python, R, Matlab,甚至Excel都可以做。很多同学可能已经会Matlab了,那么其实直接用Matlab就行了
楼上很全面但略复杂,建议先装ipython notebook,然后听南京大学Coursera公开课《python玩转数据分析》一边敲代码,配合《用python进行数据分析》,你看看我编程零基础学完的成果
习惯了matlab,不太熟悉面向对象编程的朋友,看下这个,对python的这种面向对象的画图方法会有醍醐灌顶的效果。用来自学还不错的,每个内容后面会有问题,下面有网友的留言与解答。讲pandas数据规整的,挺不错的,记得学pandas时候最经常翻的。博主还有不少好文章,不妨看看。这个网站讲pandas的,提醒一下,不光包括10min速成pandas,合理利用左侧导航栏,内容很丰富。(截得里面一个讲画图的地方,酷一点)(截得里面一个讲画图的地方,酷一点)包含python,numpy,pandas,scipy,matplotlib等内容,是notebook形式的,难度适中,简约不简单,强烈推荐。(这是用seaborn库话画的,网站自带不用安装)(这是用seaborn库话画的,网站自带不用安装)joinquant本身是个量化交易的平台,但它的投资研究模块是个线上的notebook,用手机号注册下就能用,python,numpy,pandas,scipy,matplotlib等,支持和上一个学习资源结合使用,效果拔群。这个网站社区里也有一些python,pandas,numpy等的学习资料,不过有点良莠不齐。线上边动手边实践的学习平台,有较多的课程安排,有免费有收费,如果编程方面基础较少的话,跟着课程一步一步来应该不错。我嫌它进度太慢,感觉自己学效率高就没怎么用这个。it问题,相比百度和谷歌,你更应该问它,如果你听的懂它说的话的话。最后,内个啥,求赞。。。
如果你是有过编程基础,比如C/C++, java 什么的。python基本就是无师自通快速上手,直接官方文档,不懂的上stack overflow。基本可以解决大多数问题。没有编程基础的话,个人推荐 《think python》这本书。《learn python the hard way》太浅, 《head first python》太繁,《think python》作为入门刚刚好,两天可以看完,常用的东西都有包括。然后做数据分析,还有一本 《python for data analysis》。我个人用的不多,但例子还是不错的。
迪艾姆python培训黄哥推荐的三本书下载: 像计算机科学家一样思考Python Python编程实践 Python核心编程(第2版) How to Think Like a Computer Scientist- Learning with Python 3 Practical Programming, 2nd Edition An Introduction to Computer Science Using Python 3 Core Python Programming, 2nd Edition 请看黄哥本人写的文章如何捅破python编程的那层纸剪刀石头布小习题三种语言python2、php、go代码一段小代码说明@property装饰器的用法
熟悉语言应用到数据分析
自己平时的工作中以Python为主要的数据分析工具,在这里谈一下自己的学习经验,希望能有所帮助。Python 0基础到入门
Python是一种面向对象、解释型计算机程序设计语言,很多人把它称作可执行的伪代码。用Python进行数据分析的第一步是要对Python这门语言有一个基本的了解,掌握基本的语法及数据结构。Python可以说是最容易上手的编程语言之一(或许可以把之一去掉),如果有一定的编程语言基础,比如学过C、C++或者Java等,Python基本上可以算是无师自通。如果没有编程基础,那也不要紧,Python入门是非常容易的。
推荐材料:
推荐理由:内容简洁,整本书以习题的方式展开,结构清晰,学练结合。Python数据分析开发环境
对于很多没有计算机背景的同学来说,设置Python的开发环境有时也会成为一个不小的挑战。之前帮助过很多同学安装Python及相关库,所以非常理解同学的难处。工欲善其事,必先利其器。一个好的开发环境,对于提高数据分析的效率是大有帮助的。答主自己是习惯用命令行+的组合,但是,由于在数据分析过程中经常需要使用iPython进行交互,这种组合对于iPython支持不够的缺点会被放大。同时,在命令行里面逐个安装Python及各种包,并进行维护升级管理,是非常的低效繁琐。同时,可能会产生dependence的问题,解决起来比较麻烦费时。为了解决命令行+Sublime Text组合存在的问题,强烈向大家安利大杀器。Anaconda是Continuum Analytics公司推出的Python数据科学平台,说起Continuum Analytics这个公司,不得不提一下公司的CEO:。此君是Python数值及科学计算届的大拿,是Numpy的主要贡献者,也是Scipy的原始作者,Continuum Analytics是他在2012年以总裁身份离开Enthought后创建的一家公司。在我看来,Anaconda最大的优点在于,作为一个数据分析平台,包含了几乎所有常见的Python数据分析库,并提供了简单易用的版本管理功能,能够让使用者专注于数据分析及开发。常用Python数据分析工具:为Python提供了N维矩阵,是Python科学计算的基础,Python的数据分析工具基本都是以他为基础进行搭建。:Python科学及工程计算库。:Python的交互式解释器,提供了强大的探索性数据分析功能。:最好用的Python数据处理及控制工具,提供了Series和DataFrame这两种在数据分析中最常用的数据结构。:Python最著名的绘图库,功能强大但是操作复杂,因此并不推荐初学者花太多时间在这个库上。:Python最著名的机器学习库,也是目前在数据科学领域应用最广、最流行的工具之一。:Python的统计建模工具。:以Matplotlib为基础的统计可视化工具,如有绘图方面的需求,建议初学者用这个库。:交互式数据可视化工具,Python的D3.js
以上涵盖了比较常用的Python数据分析工具,其中Numpy,Scipy,IPython,Pandas和Matplotlib是基础,在掌握这几个库之后可以根据自己的需求选择相应的Python库进行学习。
推荐材料:
推荐理由:这本书很全面,讲的很细,涵盖了Numpy、Scipy几个主要的数据分析库。但是这本书的缺点和优点一样明显,主要在于成书时间太早(2012年最后修改),部分内容有些陈旧,同时由于讲的很细,很多内容不太适合初学者。
阅读建议:前五章认真看一下,复制书里的代码,并能够调试运行成功,后面的章节根据需要挑着看。Python数据分析实战
用Python进行数据分析本质上是解决实际工作中遇到的数据分析有关的问题,Python作为一门编程语言,仅仅是我们解决问题的工具。掌握一门编程语言的关键是实践,将实际问题与编程学习结合起来才是最有效的方法。因为对中文材料不是很熟悉,所以只能推荐英文的。
之前已经有同学提到过这门课,但是仍然要再安利一下。推荐这门课主要有如下原因有视频教程,不会太枯燥。涵盖面广,难度适中,适合入门。课程包括了概率论、数理统计及机器学习等内容,这些都是实际工作中常用的分析工具。理论与实践相结合,并以Python为主要编程语言。涉及到一点文本分析以及MapReduce、Spark等内容
如果想更进一步的了解如何用Python进行数据分析,那么,Kaggle一定是最好的选择。这里汇集了来自全世界各地的数据分析高手,社区非常的活跃,同时也有很多有趣的比赛及项目。从适合初学者入门的数字识别器、泰坦尼克号生存率预测,到奖金几万甚至几十万美元的竞赛,再到由各大公司,如Facebook, Walmart等,举办的以招聘为导向的竞赛,你总能找到一款适合你的。
其实python非常适合初学者入门,上手很容易。以下是两点经验:1.找一本浅显易懂,例程比较好的教程,从头到尾看下去。把里面的例子都手打一遍,搞懂为什么。2.去找一个实际项目练手。如果金融相关的数据分析可以参考量化分析师的Python日记【第3天:一大波金融Library来袭之numpy篇量化分析师的Python日记【第4天:一大波金融Library来袭之scipy篇】量化分析师的Python日记【第5天:数据处理的瑞士军刀pandas】量化分析师的Python日记【第6天:数据处理的瑞士军刀pandas下篇另外推荐完全没有编程基础的新手先看《head first python》或者《与孩子一起学编程(老少咸宜的编程入门奇书,荣获Jolt生产效率大奖)》((美)桑德...)【简介,这类书其实是借 python 来讲编程入门。如果有一点点编程基础,而想学 python,建议《简明Python教程》或《Dive into Python》,这两个都有在线中文版本:简明 Python 教程Dive Into Python进阶推荐看 Python高级编程, python高级编程最后数据分析推荐《《利用Python进行数据分析》((美)麦金尼...)【简介》
已有帐号?
无法登录?
社交帐号登录

我要回帖

 

随机推荐