Numpy库进阶
收藏
Numpy提供了reshape方法用于改变数组的形状,reshape方法仅改变原始数据的形状,不改变原始数据的值。示例代码如下:
import numpy as np arr = np.arange(12) # 创建一维ndarray
arr1 = arr.reshape(3, 4) # 设置ndarray的维度,改变其形态
以上示例代码是将一维数组形态变换为二维数组, 事实上也可以将二维数组形态展平变换为一维数组,通过ravel()函数即可实现。示例代码如下:
import numpy as np
arr = np.arange(12).reshape(3, 4)
arr1=arr.ravel()
0
收藏
请登录后评论
通过Numpyt提供的sort函数,可以对数组元素值按从小到大进行直接排序,示例代码如下:
通过Numpy提供的argmax和argmin函数,可以返回待搜索数组最大值和最小值元素的索引值,如果存在多个最大值或最小值,则返回第一次出现的索引。对于二维数组而已,可以通过设置axis=0或1返回各列或者各行最大值或最小值索引。需要注意的是,索引从0开始
应该是对于二维数组而言,
Numpy的matrix是继承自NumPy的二维ndarray对象,不仅拥有二维ndarray的属性、方法与函数,还拥有诸多特有的属性与方法。同时,Numpy中的matrix和线性代数中的矩阵概念几乎完全相同,同样含有转置矩阵,共轭矩阵,逆矩阵等概念。创建Numpy矩阵 Numpy中可使用mat、matrix或bmat函数来创建矩阵。使用mat函数创建矩阵时,若输入matrix或ndarray对象,则不会为它们创建副本。在矩阵的日常使用过程中,将小矩 阵组合成大矩阵是一种频率极高的 操作。在Numpy中可以使用bmat分块矩阵函数实现
线性代数是数学的一个重要分支。Numpy包含numpy.linalg模块,提供线性代数所需的功能,如计算逆矩阵、求解线性方程组、求特征值、奇异值分解以及求解行列式等。numpy.linalg模块中的一些常用函数
dot
矩阵相乘
inv
求逆矩阵
solve
求解线性方程组
eig
求特征值和特征向量
eigvals
求特征值
svd
计算奇异值分解
det
求行列式
矩阵可以对向量进行线性变换,numpy.linalg模块中的solve函数可以求解线性方程组
可以进行奇异值分解
import numpy as np
A = np.mat("4.0,11.0,14.0; 8.0,7.0,-2.0")
U, Sigma, V = np.linalg.svd(A, full_matrices=False)