Python中Numpy介绍及常用函数

Numpy是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库

NumPy 是一个运行速度非常快的数学库,主要用于数组计算,包含线性代数、傅里叶变换、随机数生成等功能

NumPy 通常与 SciPy(Scientific Python)和 Matplotlib(绘图库)一起使用, 这种组合广泛用于替代 MatLab,是一个强大的科学计算环境,有助于我们通过 Python 学习数据科学或者机器学习

参考:

Python 算法库和数学工具包

SciPy 包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。

Matplotlib 是 Python 编程语言及其数值数学扩展包 NumPy 的可视化操作界面。它为利用通用的图形用户界面工具包,如 Tkinter, wxPython, Qt 或 GTK+ 向应用程序嵌入式绘图提供了应用程序接口(API)。

python complex类型-复数类型

复数存放的是一对浮点数,一个表示实数部分,另一个表示虚数部分(跟随一个字母j)

z = 1 + 1j;
print(z.real,z.imag)
=》结果:1.0 1.0
real是实数,image是虚数。

短阵和数组

Numpy矩阵严格是二维的,而numpy阵列(Ndarray)是N维的.矩阵对象是ndarray的子类,因此它们继承了ndarray的所有属性和方法。

numpy矩阵的主要优点是它们为矩阵乘法提供了一种方便的表示法:如果a和b是矩阵,那么a*b就是它们的矩阵乘积。

矩阵乘法

矩阵的乘法仅当第一个矩阵A的列数和另一个矩阵B的行数相等时才能定义

Am×n矩阵和Bn×p矩阵,它们的乘积C是一个m×p矩阵

a的第一行每个元素与B中第一列的每个元素相乘求各做为结果的第一行第一列元素

a的第一行每个元素与B中第二列的每个元素相乘求各做为结果的第一行第二列元素

1568256135550

NumPy 数组的维数称为秩(rank),一维数组的秩为 1,二维数组的秩为 2

,每一个线性的数组称为是一个轴(axis),也就是维度(dimensions)。比如说,二维数组相当于是两个一维数组,其中第一个一维数组中每个元素又是一个一维数组。所以一维数组就是 NumPy 中的轴(axis)第一个轴相当于是底层数组,第二个轴是底层数组里的数组。而轴的数量——秩,就是数组的维数。

numpy常用函数

np.arange(24)
np.arange([start, ]stop, [step, ]dtype=None) //用于创建等差数组
a = np.arange(24) 
print(a) 
结果//[ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23]
np.sum([0.5, 1.5])

sum(a, axis=None, dtype=None, out=None, keepdims=np._NoValue)

a是要进行加法运算的向量/数组/矩阵
axis的值可以为None,也可以为整数 int32 和元组 (在默认/缺省的情况下,axis取None)

axis的取值有三种情况:1.None,2.整数, 3.整数元组

np.sum([0.5, 1.5]) //0.5+1.5=2

c=np.sum([0.5, 0.7, 0.2, 1.5], dtype=np.int32)
d=np.sum([0.5, 0.7, 0.2, 1.5])
print(c)  //1==0+0+0+1 转化为整数
print(d) //0.5+0.7+0.2+1.5

c=np.sum([[1, 1], [100, 5]])
print(c)//107==1+1+100+5

c=np.sum([[1, 1], [100, 5]],axis=0) //[101   6] 则沿着纵轴进行操作
d=np.sum([[1, 1], [100, 5]],axis=1) //[  2 105]沿着横轴进行操作
设axis=i ,则numpy沿着第i个下标变化的方向进行操作,
np.max

np.max:(a, axis=None, out=None, keepdims=False)

求最大值

c=np.max([-2, -1, 0, 1, 2,111])
print(c) //100

本文由 hcb 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

还不快抢沙发

添加新评论