为什么要使用Python进行数据分析我使用python这门语言也有三年了 , 被其简洁、易读、强大的库所折服,我已经深深爱上了python 。其pythonic语言特性,对人极其友好,可以说 , 一个完全不懂编程语言的人,看懂python语言也不是难事 。
在数据分析和交互、探索性计算以及数据可视化等方面,相对于R、MATLAB、SAS、Stata等工具,Python都有其优势 。近年来,由于Python库的不断发展(如pandas) , 使其在数据挖掘领域崭露头角 。结合其在通用编程方面的强大实力,我们完全可以只使用Python这一种语言去构建以数据为中心的应用程序 。
由于python是一种解释性语言,大部分编译型语言都要比python代码运行速度快,有些同学就因此鄙视python 。但是小编认为 , python是一门高级语言,其生产效率更高,程序员的时间通常比CPU的时间值钱 , 因此为了权衡利弊,考虑用python是值得的 。
Python强大的计算能力依赖于其丰富而强大的库:
Numpy
Numerical Python的简称 , 是Python科学计算的基础包 。其功能:
1. 快速高效的多维数组对象ndarray 。
2. 用于对数组执行元素级计算以及直接对数组执行数学运算的函数 。
3. 线性代数运算、傅里叶变换,以及随机数生成 。
4. 用于将C、C++、Fortran代码集成到Python的工具 。
除了为Python提供快速的数组处理能力,NumPy在数据分析方面还有另外一个主要作用 , 即作为在算法之间传递数据的容器 。对于数值型数据 , NumPy数组在存储和处理数据时要比内置的Python数据结构高效得多 。此外,由低级语言(比如C和Fortran)编写的库可以直接操作NumPy数组中的数据,无需进行任何数据复制工作 。
SciPy
是一组专门解决科学计算中各种标准问题域的包的集合,主要包括下面这些包:
1. scipy.integrate:数值积分例程和微分方程求解器 。
2. scipy.linalg:扩展了由numpy.linalg提供的线性代数例程和矩阵分解功能 。
3. scipy.optimize:函数优化器(最小化器)以及根查找算法 。
4. scipy.signal:信号处理工具 。
5. scipy.sparse:稀疏矩阵和稀疏线性系统求解器 。
6. scipy.special:SPECFUN(这是一个实现了许多常用数学函数(如伽玛函数)的Fortran库)的包装器 。
7. scipy.stats:标准连续和离散概率分布(如密度函数、采样器、连续分布函数等)、各种统计检验方法,以及更好的描述统计法 。
8. scipy.weave:利用内联C++代码加速数组计算的工具 。
注:NumPy跟SciPy的有机结合完全可以替代MATLAB的计算功能(包括其插件工具箱) 。
SymPy
是python的数学符号计算库,用它可以进行数学表达式的符号推导和演算 。
pandas
提供了使我们能够快速便捷地处理结构化数据的大量数据结构和函数 。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一 。
pandas兼具NumPy高性能的数组计算功能以及电子表格和关系型数据库(如SQL)灵活的数据处理功能 。它提供了复杂精细的索引功能,以便更为便捷地完成重塑、切片和切块、聚合以及选取数据子集等操作 。
对于使用R语言进行统计计算的用户,肯定不会对DataFrame这个名字感到陌生,因为它源自于R的data.frame对象 。但是这两个对象并不相同 。R的data.frame对象所提供的功能只是DataFrame对象所提供的功能的一个子集 。也就是说pandas的DataFrame功能比R的data.frame功能更强大 。
matplotlib
是最流行的用于绘制数据图表的Python库 。它最初由John D. Hunter(JDH)创建,目前由一个庞大的开发人员团队维护 。它非常适合创建出版物上用的图表 。它跟IPython(马上就会讲到)结合得很好,因而提供了一种非常好用的交互式数据绘图环境 。绘制的图表也是交互式的,你可以利用绘图窗口中的工具栏放大图表中的某个区域或对整个图表进行平移浏览 。
- 使用redis实现分布式锁及其优化 redis分布式性能
- redis分布式锁死锁处理方案 redis宕机分布式锁
- mysqli获取所有数据 mysql的提取函数
- redis incr锁 redis加锁方式
- mysql 分组函数 mysql分组取数据
- 使用redis做分布式锁 redis设计分布式锁
- mongodb分布式集群搭建 mongodb具备优秀的分布式集群架构
- mysql分布式存储实现 分布式mysql集群部署
- mysql统计函数
- redission源码解析 redis源码分析分布式
