专栏名称: CDA数据分析师
CDA数据分析师品牌官方微信,开放、创新、分享。
目录
相关文章推荐
数据派THU  ·  三种Transformer模型中的注意力机制 ... ·  3 天前  
数据派THU  ·  链接数据:如何使用知识图谱改进RAG ·  6 天前  
软件定义世界(SDX)  ·  【PPT】我国工业软件产业发展面临的机遇与挑战 ·  1 周前  
51好读  ›  专栏  ›  CDA数据分析师

Python数据科学计算库的安装和numpy简单

CDA数据分析师  · 公众号  · 大数据  · 2017-05-12 18:31

正文


作者   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数组简单示例

我们已经安装好了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%的难题

国外公司是如何挖掘社交媒体数据的?

大数据舆情情感分析,如何提取情感并使用什么样的工具?(贴情感标签)