Numpy中文指南:基本操作

1、简介

Python是一种流行的通用编程语言,在科学领域被广泛使用。你很容易在Python代码中调用以前的C、Fortran或者R代码。Python是面向对象语言,比C和Fortran更加高级。使用Python可以写出易读、整洁并且缺陷最少的代码。然而,Python本身并不具有与Matlab等效的功能块,而这恰恰就是NumPy存在的意义。除NumPy以外,相关的Python科学计算库还有,SciPy和Matplotlib。ipython是一个净强化的交互Python Shell,对探索NumPy的特性非常方便;matplotlib将允许你绘图;Scipy在NumPy的基础上提供了很多科学模块;

 NumPy(Numerical Python的缩写)是一个开源的Python科学计算库。使用NumPy,就可以很自然地使用数组和矩阵。NumPy包含很多实用的数学函数,涵盖线性代数运算、傅里叶变换和随机数生成等功能。如果你的系统中已经装有LAPACK,NumPy的线性代数模块会调用它,否则NumPy将使用自己实现的库函数。LAPACK是一个著名的数值计算库,最初是用Fortran写成的,Matlab同样也需要调用它。从某种意义上讲,NumPy可以取代Matlab和Mathematica的部分功能并且允许用户进行快速的交互式原型设计

NumPy能够直接对数组和矩阵进行操作,可以省略很多循环语句,其众多的数学函数也会让编写代码的工作轻松许多;了NumPy的两个特性:向量化(Vectorization)广播(Broadcasting),它们是NumPy强大之处的基础。

向量化用于描述任何缺失的显式循环、索引及其它,在代码这些事情是即时发生;一般来说,NumPy中所有操作,并不只是算术运算,还有逻辑运算,位运算,函数运算等,以这种隐式的元素层面的方式执行,就是广播。

NumPy中数组的存储效率和输入输出性能均远远优于Python中等价的基本数据结构;NumPy数组的通用性不及Python提供的list容器,这是其不足之处;

NumPy的大部分代码都是用C语言写成的,这使得NumPy比纯Python代码高效得多;

列表操作:

c = []
for i in range(len(a)):
    c.append(a[i]*b[i])

 C语言,一维数组:

for (i = 0; i < rows; i++)
{c[i] = a[i]*b[i];}

  C语言,二维数组:

for (i = 0; i < rows; i++)
{
    for (j = 0; j < columns; j++)
    {
        c[i][j] = a[i][j]*b[i][j];
    }
}

Numpy,

c = a * b

2、Numpy函数总览

创建数组:

arange, array, copy, empty, empty_like, eye, fromfile, fromfunction, identity, linspace, logspace, mgrid, ogrid, ones,ones_like, r , zeros, zeros_like

转化:

astype, atl

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值