专栏首页CDA数据分析师Python数据科学计算库的安装和numpy简单

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.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进行简单的求和计算。希望通过上面的操作能帮助大家。如果你有什么好的意见,建议,或者有不同的看法,我都希望你留言和我们进行交流、讨论。

本文分享自微信公众号 - CDA数据分析师(cdacdacda)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-05-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 图片相似检测:三行代码实现

    检查两个图片的相似度,一个简单而快速的算法:感知哈希算法(Perceptual Hash),通过某种提取特征的方式为每个图片计算一个指纹(哈希),这样对比两个图...

    Marky Lumin
  • Python读书笔记5

    上期分享了Python相关的字符串应用,重点分享了转义字符。今天和大家分享和字符串相关的函数和应用。 一、字符串的合并! Python用“+”号可以连接两个文本...

    企鹅号小编
  • Instagram 开源用于 Python 3的MonkeyType 工具

    Instagram 宣布将其 MonkeyType 工具开源。它是通过运行时跟踪类型自动将类型注释添加到您的 Python 3 代码的工具。 授权协议:BSD ...

    企鹅号小编
  • TensorFlow核心使用要点

    正文之前,小梦先来说说什么是TensorFlow。TensorFlow是谷歌研发的第二代人工智能学习系统,可被用于语音识别或图像识别等多项机器深度学 习领域。T...

    企鹅号小编
  • python基础

    学习前准备,了解 基础环境部署,工作原理,发展和历史 pycharm,notepad++等工具 交互模式 命令行模式 废话不多说,直接上分 第一个脚本 打印 l...

    企鹅号小编
  • Python学习笔记1——斐波那契数列

    这是一个高中同学问我的问题,本来是用C来写的,正好正在学Python,就用Python重写了一遍当作练习。 下面是题目要求: ? ? 一道很简单的题目,但有些细...

    企鹅号小编
  • 值得关注的5个Python开源项目

    Python领域优秀的开源软件层出不穷。关注一个好的开源软件,对一个开发者来说可以带来很多益处。或者你可以很好地运用这个开源软件,成为它的一个用户;或者你可以阅...

    企鹅号小编
  • 别@微信团队了,我用Python给自己戴上了圣诞帽!

    引言 大家纷纷@官方微信 给自己的头像加上一顶圣诞帽。当然这种事情用很多P图软件都可以做到。但是作为一个学习图像处理的技术人,还是觉得我们有必要写一个程序来做这...

    企鹅号小编
  • 10x Python开发者必读:本月Python文章TOP 10

    翻译 | AI科技大本营 参与 | 刘畅 编辑 | Donna 【AI科技大本营导语】Medium热门博客Mybridge AI例行评出本月10篇有助于提升你职...

    企鹅号小编
  • 5个酷毙的Python工具

    工欲善其事必先利其器,一个好的工具能让起到事半功倍的效果,Python社区提供了足够多的优秀工具来帮助开发者更方便的实现某些想法,下面这几个工具给我的工作也带来...

    企鹅号小编

扫码关注云+社区

领取腾讯云代金券