NumPy

作者: Epiphanyyaoyao | 来源:发表于2017-05-30 00:47 被阅读0次

定义数组array:
a = np.arange(20)

创建多维数组
a.reshape(4,5)

定义零矩阵
np.zeros((4,5))

简单的四则运算已经重载过了,全部的+,-,*,/运算都是基于全部的数组元素的。
NumPy里这些运算符也可以对标量和数组操作,结果是数组的全部元素对应这个标量进行运算,还是一个数组。

在处理中Python会自动将整数转换为浮点数(因为数组是同质的),并且,两个二维数组相加要求各维度大小相同。

类似C++,+=、-=、*=、/=操作符在NumPy中同样支持。

科学计算中大量使用到矩阵运算,除了数组,NumPy同时提供了矩阵对象(matrix)。矩阵对象和数组的主要有两点差别:一是矩阵是二维的,而数组的可以是任意正整数维;二是矩阵的操作符进行的是矩阵乘法,乘号左侧的矩阵列和乘号右侧的矩阵行要相等,而在数组中操作符进行的是每一元素的对应相乘,乘号两侧的数组每一维大小需要一致。

数组可以通过asmatrix或者mat转换为矩阵。
a = np.arange(20).reshape(4, 5)
a = np.asmatrix(a)
a = mp.mat(a)

b = np.matrix('1.0 2.0; 3.0 4.0')

arange函数还可以通过arange(起始,终止,步长)的方式调用生成等差数列,注意含头不含尾。
arange指定的是步长,如果想指定生成的一维数组的长度怎么办?好办,linspace就可以做到:
np.linspace(0, 2, 9)

array([ 0. , 0.25, 0.5 , 0.75, 1. , 1.25, 1.5 , 1.75, 2. ])

可以通过下标访问来修改数组元素的值。

【陷阱】
a = np.array([[3.2, 1.5], [2.5, 4]])
b=a
这里的b只是复制了一下a的内存地址,并没有真正复制一份a的数据,因此改变a的值同时也会改变b的值。若想避免这个问题,使用copy函数。
b = a.copy()

可使用where函数查找特定值在数组中的位置:
loc = numpy.where(a==11)
print loc

print a[loc[0][0], loc[1][0]]

数组转置(用于矩阵转置)
a = np.transpose(a)

矩阵求逆
ia = nlg.inv(a)

矩阵特征值和特征向量
eig_value, eig_vector = nlg.eig(a)

矩阵块操作
a = np.array((1,2,3))
b = np.array((2,3,4))
print np.column_stack((a,b))
在循环处理某些数据得到结果后,将结果拼接成一个矩阵是十分有用的,可以通过vstack和hstack完成。

缺失值在分析中也是信息的一种,NumPy提供nan作为缺失值的记录,通过isnan判定。nan_to_num可用来将nan替换成0。

相关文章

  • 科学计算库numpy的执行示例

    numpy1 numpy2 numpy3 numpy4

  • numpy中的常量

    Constants 正无穷 numpy.inf numpy.Inf numpy.Infinity numpy.in...

  • NumPy学习资料

    Numpy 中文资料 NumPy 中文文档 NumPy 中文用户指南 NumPy 中文参考手册

  • Numpy基础

    安装Numpy Numpy Numpy属性 ndim:纬度 shape:行数和列数 size:元素个数 Numpy...

  • Numpy和Pandas基本操作速查

    """ numpy 基本操作 """'''安装 Numpy 的方法:pip install numpy''''''...

  • numpy 基础

    numpy 基础 导入numpy 版本 np常用方法 numpy.array 的基本属性 numpy.array ...

  • Numpy入门

    1、熟悉 numpy 的基础属性 2、numpy 创建 array 3、numpy的基础运算 4、numpy索引 ...

  • 学习:biopython的安装

    安装Numpy 因为使用biopython需要numpy的支持,所以需要先安装numpy。安装numpy过程如下:...

  • Numpy

    Numpy中文文档 # 基本语法 ``` import numpy myText = numpy.genfromt...

  • numpy运算

    numpy的与运算 numpy 中 argsort() numpy 中的布尔索引

网友评论

    本文标题:NumPy

    本文链接:https://www.haomeiwen.com/subject/cqilfxtx.html