赞
踩
原标题:Python数据科学计算库的安装和numpy简单应用
前言
如何使用Python进行科学计算和数据分析,这里我们就要用到Python的科学计算库,今天来分享一下如何安装Python的数据科学计算库。
数据科学计算库
Python中的数据科学计算库有Numpy、Scipy、pandas、matplotlib(前面我分享了一篇matplotlib的简单应用,历史文章上一篇就是)。
Numpy是一个基础性的Python库,为我们提供了常用的数值数组和函数。
Scipy是Python的科学计算库,对Numpy的功能进行了扩充,同时也有部分功能是重合的。Numpy和Scipy曾经共享过基础代码。
pandas是一个流行的开源Python项目,它的名称取panel data(面板数据,一个计量经济学的术语)和Python data analysis(Python数据分析)的意思。
matplotlib是一个基于Numpy的绘图库。
库的安装
安装这些库之前要先安装Python,默认已全部安装,(Windows直接下载安装,Linux自带2.7版本,可以自行安装3.6版本)。
为了节约时间在更重要的知识上,这里只介绍最简单的安装方式,即包管理工具安装Python库。
不管是Windows和Linux下,都可以在命令行下直接使用下面的命令来安装相关的库,前提是已经安装了pip包(pip包管理工具的相关安装可以看原文这里有链接):
pip install numpy scipy pandas matplotlib
或(easy_install是Python自带的)
easy_install numpy scipy pandas matplotlib
#Linux下安装pip包
sudo apt-get install python-pip
说明:Linux下如果涉及权限问题则需要开头添加sudo。安装示例如下所示:
Numpy数组简单示例
我们已经安装好了numpy,然后就可以来个简单的小测试了。与传统的Python列表相比,进行数值运算时,numpy数组的效率要高的多。
完成相同的运算时,numpy代码和Python传统代码相比用到的显式循环语句明显要少,因为numpy是基于向量化的运算。
假设要对向量a和b进行求和,这里的向量指的是一个“一维数组”,a存放的是整数0到n-1的2次幂,如果n等于3,则a存的是0、1、4,向量b存的是整数0到n的3次幂,下面来看一下普通Python代码和numpy来计算的差别:
先看代码:
#filename:vectorsSum.pyimport sysfrom datetime import datetimeimport numpy as np#numpy方法def numpySum(n): a = np.arange(n, dtype = 'int64')**2 #3次幂太大会溢出,注意(后面细说) b = np.arange(n, dtype = 'int64')**3 c = a + b return c#普通方法def pythonSum(n): #range() 返回的是“range object”,而不是实际的list 值,所以这里要加上list a = list(range(n)) b = list(range(n)) c = [] for i in range(len(a)): a[i] = i ** 2 b[i] = i ** 3 c.append(a[i] + b[i]) return csize = int(sys.argv[1])start = datetime.now()c = pythonSum(size)delta = datetime.now() - startprint ("最后两个元素的和:", c[-2:])print ("pythonSum花费的时间(微秒)", delta.microseconds)start = datetime.now()c = numpySum(size)delta = datetime.now() - startprint ("最后两个元素的和:", c[-2:])print ("numpySum花费的时间(微秒)", delta.microseconds)#下面测试一下对与1000个,2000个,3000个向量元素,运行结果如下图所示。
看一下运行结果:
上面的结果看到,numpy的计算效率比普通的方法要快不少,所以开始学习吧。后面分享更多,欢迎关注。
小结
今天学习一下Python中的几个科学计算库的安装以及使用numpy进行简单的求和计算。希望通过上面的操作能帮助大家。如果你有什么好的意见,建议,或者有不同的看法,我都希望你留言和我们进行交流、讨论。
欢迎关注微信公众号,访问更多精彩:AiryData。
如需转载,请联系授权,谢谢合作。返回搜狐,查看更多
责任编辑:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。