作者 Airy
本文转自AiryData,转载需授权
如何使用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,然后就可以来个简单的小测试了。与传统的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.py
import sys
from datetime import datetime
import 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 c
size = int(sys.argv[1])
start = datetime.now()
c = pythonSum(size)
delta = datetime.now() - start
print ("最后两个元素的和:", c[-2:])
print ("pythonSum花费的时间(微秒)", delta.microseconds)
start = datetime.now()
c = numpySum(size)
delta = datetime.now() - start
print ("最后两个元素的和:", c[-2:])
print ("numpySum花费的时间(微秒)", delta.microseconds)
#下面测试一下对与1000个,2000个,3000个向量元素,运行结果如下图所示。
看一下运行结果:
上面的结果看到,numpy的计算效率比普通的方法要快不少,所以开始学习吧。后面分享更多,欢迎关注。
今天学习一下Python中的几个科学计算库的安装以及使用numpy进行简单的求和计算。希望通过上面的操作能帮助大家。如果你有什么好的意见,建议,或者有不同的看法,我都希望你留言和我们进行交流、讨论。
推荐阅读
初级数据科学家求职时的 3 大必备能力
不可错过的优质深度学习课程
职场 | 数据库面试常问的一些基本概念
听说你最擅长“拖”,你“拖”得过Excel吗?
数据科学优质课程推荐#2:统计入门课程篇
歌手外科和猴姑,大数据告诉你白百何出轨后谁最惨
想学习数据科学?我们整理了一份优质编程入门课程清单
数据科学家在美国仍然是最热门工作的3大原因
一个优秀数据分析师的准则
Python 实现一个火车票查询的工具
干货 | 携程实时用户行为系统实践
数据分析证明最靠谱的电影评分网站不是 IMDB, 也不是烂番茄,而是...
那些年,写 Python 犯过的错误
我用6.5万条公开数据分析了一下人民眼中的人民的名义
如何获得你的第一份数据科学领域的工作?
北京空气质量数据可视化
几个提高工作效率的Python内置小工具
Python 自然语言处理《釜山行》人物关系
函数 | 这8组Excel函数,帮您解决工作中80%的难题
国外公司是如何挖掘社交媒体数据的?
大数据舆情情感分析,如何提取情感并使用什么样的工具?(贴情感标签)