如果你已经决定把Python作为你的编程语言,那么,你脑海中的下一个问题会是:“进行数据分析有哪些Python库可用?”
Python有很多库可用来进行数据分析。但不必担心,你不需要学习所有那些可用库。你只须了解5个Python库,就可以完成绝大多数数据分析任务。下面逐一简单介绍这5个库,并提供你一些最好的教程来学习它们。
对于科学计算,它是Python创建的所有更高层工具的基础。以下是它提供的一些功能:
1. N维数组,一种快速、高效使用内存的多维数组,它提供矢量化数学运算 。
2. 你可以不需要使用循环,就对整个数组内的数据行标准数学运算。
3. 非常便于传送数据到用低级语言(如C或C++)编写的外部库,也便于外部库以Numpy数组形式返回数据。
NumPy不提供高级数据分析功能,但有了对NumPy数组和面向数组的计算的理解,能帮助你更有效地使用像Pandas之类的工具。
1. Scipy.org提供了Numpy库的简要说明
http://scipy.org/
2. 这个教程棒极了,完全注重于Numpy的可用性
https://vimeo.com/77263537
Scipy库依赖于NumPy,它提供便捷和快速的N维向量数组操作。SciPy库的建立就是和NumPy数组一起工作,并提供许多对用户友好的和有效的数值例程,如:数值积分和优化。SciPy提供模块用于优化、线性代数、积分以及其它数据科学中的通用任务。
我找不到比Scipy.org更好的教程了,它学习Scipy的最佳教程
http://docs.scipy.org/doc/scipy/reference/tutorial/
Pandas包含高级数据结构,以及和让数据分析变得快速、简单的工具。它建立在NumPy之上,使以NumPy为中心的应用变得简单。
1. 带有坐标轴的数据结构,支持自动或明确的数据对齐。这能防止由于数据没有对齐,以及处理不同来源的、采用不同索引的数据而产生的常见错误。
2. 使用Pandas更容易处理缺失数据。
3. 合并流行数据库(如:基于SQL的数据库)中能找到 的关系操作。
Pandas是进行数据清洗/整理(data munging)的最好工具。
1. Pandas快速入门
http://pandas.pydata.org/pandas-docs/stable/10min.html
2. Alfred Essa有一系列关于Pandas的视频,这些视频应该会让你很好地了解基本概念。
http://alfredessa.com/data-analysis-tutorial/2-pandas-library/
3. 还有,不可错过Shane Neeley提供的教程视频,它全面介绍了Numpy, Scipy和Matplotlib
https://www.youtube.com/watch?v=oYTs9HwFGbY
Matlplotlib是Python的一个可视化模块。它让你方便地制作线条图、饼图、柱状图以及其它专业图形。使用Matplotlib,你可以定制所做图表的任一方面。在IPython中使用时,Matplotlib有一些互动功能,如:缩放和平移。它支持所有的操作系统下不同的GUI后端(back ends),并且可以将图形输出为常见地矢量图和图形格式,如:PDF、SVG、JPG、PNG、BMP和GIF等。
1. ShowMeDo网站上有一个关于很好地教程
http://showmedo.com/videotutorials/video?name=7200090&fromSeriesID;=720
2. 推荐这本书Packt出版社的操作宝典,对于初学者来说,这本书真是极棒的~
https://www.packtpub.com/big-data-and-business-intelligence/matplotlib-plotting-cookbook,
Scikit-learn是一个用于机器学习的Python模块。它建立在Scipy之上,提供了一套常用机器学习算法,让使用者通过一个统一的接口来使用。Scikit-learn有助于你迅速地在你的数据集上实现流行的算法。
看一下Scikit-learn中提供的算法列表,你就会马上意识到它包含了许多用于标准机器学习任务的工具,如:聚类、分类和回归等。
http://scikit-learn.org/stable/user_guide.html
1. Scikit-learn入门
https://www.youtube.com/watch?v=4ONBVNm3isI
2. 来自于Scikit-learn.org的教程
http://scikit-learn.org/stable/tutorial/index.html
结束语
还有其它一些库,如:用于自然语言处理的Nltk,用于网站数据抓取的Scrappy ,用于网络挖掘的Pattern ,用于深度学习的Theano等。
但是,如果你正开始学习Python,我建议你首先熟悉这5个库。
我说过,这些教程都非常适合初学者。不过,在学习这些教程前,先要熟悉Python语言的基本编程知识。
原文发布时间为:2015-04-12
本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“BigDataDigest”微信公众号