NumPy(Numerical Python)是一个开源的Python库,广泛用于科学计算。它提供了一个高性能的多维数组对象,以及用于处理这些数组的工具和函数。NumPy是数据分析、机器学习、工程和科学研究中不可或缺的工具之一,因为它提供了简单而高效的数值运算功能。
1.NumPy的主要功能:
-
高效的数组运算:NumPy的数组比Python的内置数据结构更加高效和快速。
-
广播功能:能够处理不同大小数组之间的运算。
-
数学函数:包含大量的数学函数,用于在数组上执行各种数学运算。
-
线性代数、傅里叶变换和随机数生成:提供了丰富的库和API支持。
NumPy的使用广泛,几乎是所有使用Python进行数据科学的项目的基础库之一。
2.NumPy的使用方法
以下是Numpy库的常用方法,以下代码可直接复制到jupyter notebook运行。
生成随机数组:
# 构造4x4的随机数组
from numpy import *
random.rand(4,4)
# 输出:
'''
array([[0.99764728, 0.06364547, 0.02182546, 0.16433105],
[0.63289943, 0.29763976, 0.58491023, 0.28307729],
[0.42512921, 0.27926124, 0.11818588, 0.58845666],
[0.07451536, 0.65541451, 0.50638315, 0.27005101]])
'''
将数组转换成矩阵matrix:
# 调用mat函数将数组转换成矩阵matrix
randMat=mat(random.rand(4,4))
randMat
# 输出:
'''
matrix([[0.27496011, 0.9093084 , 0.0018111 , 0.13143669],
[0.85885902, 0.94750823, 0.96820938, 0.06107537],
[0.67165439, 0.69433003, 0.82237952, 0.25712598],
[0.65327732, 0.30190633, 0.65090624, 0.05763251]])
'''
求矩阵的逆矩阵:
# 矩阵求逆运算
randMat.I
# 输出:
'''
matrix([[-2.27475911, 1.74370229, 0.3710643 , -0.63203529],
[ 1.15524442, 0.27630249, -1.52858325, 1.38871436],
[ 2.0517843 , -2.27912633, 0.3015267 , 3.06149341],
[ 0.98720611, -0.61572784, 0.95857182, -0.9405201 ]])
'''
矩阵乘法: