您好,登录后才能下订单哦!
NumPy(Numerical Python)是Python中用于科学计算的核心库之一。它提供了一个高性能的多维数组对象(ndarray
),以及用于操作这些数组的工具。NumPy是许多其他科学计算库(如SciPy、Pandas、Matplotlib等)的基础,因此在数据科学、机器学习、图像处理等领域中广泛应用。
NumPy的主要特点包括:
在使用NumPy之前,需要先安装它。可以通过以下命令使用pip
安装NumPy:
pip install numpy
安装完成后,可以通过以下代码导入NumPy模块:
import numpy as np
NumPy的核心是ndarray
对象,即N维数组。可以通过多种方式创建NumPy数组。
import numpy as np
# 从列表创建一维数组
arr1 = np.array([1, 2, 3, 4, 5])
print(arr1)
# 从嵌套列表创建二维数组
arr2 = np.array([[1, 2, 3], [4, 5, 6]])
print(arr2)
NumPy提供了许多内置函数来创建特定类型的数组。
# 创建全零数组
zeros_arr = np.zeros((3, 3))
print(zeros_arr)
# 创建全一数组
ones_arr = np.ones((2, 4))
print(ones_arr)
# 创建单位矩阵
eye_arr = np.eye(3)
print(eye_arr)
# 创建等差数列数组
range_arr = np.arange(0, 10, 2)
print(range_arr)
# 创建等间隔数组
linspace_arr = np.linspace(0, 1, 5)
print(linspace_arr)
可以通过shape
属性查看数组的形状,通过ndim
属性查看数组的维度。
arr = np.array([[1, 2, 3], [4, 5, 6]])
print(arr.shape) # 输出 (2, 3)
print(arr.ndim) # 输出 2
NumPy数组的索引和切片操作与Python列表类似。
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 获取单个元素
print(arr[0, 1]) # 输出 2
# 切片操作
print(arr[1:3, 0:2]) # 输出 [[4, 5], [7, 8]]
NumPy支持对数组进行逐元素运算。
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
# 逐元素相加
print(a + b) # 输出 [5, 7, 9]
# 逐元素相乘
print(a * b) # 输出 [4, 10, 18]
# 矩阵乘法
print(np.dot(a, b)) # 输出 32
广播是NumPy中一种强大的机制,它允许不同形状的数组进行数学运算。广播的规则是:如果两个数组的维度不同,NumPy会自动扩展较小的数组,使其形状与较大的数组匹配。
a = np.array([[1, 2, 3], [4, 5, 6]])
b = np.array([10, 20, 30])
# 广播机制使得b被扩展为[[10, 20, 30], [10, 20, 30]]
print(a + b) # 输出 [[11, 22, 33], [14, 25, 36]]
NumPy提供了大量的数学函数,可以方便地进行各种数学运算。
arr = np.array([1, 2, 3, 4, 5])
# 求和
print(np.sum(arr)) # 输出 15
# 求平均值
print(np.mean(arr)) # 输出 3.0
# 求标准差
print(np.std(arr)) # 输出 1.4142135623730951
# 求最大值和最小值
print(np.max(arr)) # 输出 5
print(np.min(arr)) # 输出 1
NumPy提供了丰富的线性代数函数,可以用于矩阵运算、求解线性方程组等。
a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
# 矩阵乘法
print(np.dot(a, b)) # 输出 [[19, 22], [43, 50]]
# 求矩阵的逆
print(np.linalg.inv(a)) # 输出 [[-2. , 1. ], [ 1.5, -0.5]]
# 求特征值和特征向量
eigenvalues, eigenvectors = np.linalg.eig(a)
print(eigenvalues) # 输出 [-0.37228132, 5.37228132]
print(eigenvectors) # 输出 [[-0.82456484, -0.41597356], [ 0.56576746, -0.90937671]]
NumPy是Python中用于科学计算的核心库之一,提供了高效的多维数组操作和丰富的数学函数。通过NumPy,可以轻松地进行数组的创建、索引、切片、运算等操作,并且可以利用广播机制对不同形状的数组进行数学运算。此外,NumPy还提供了线性代数、傅里叶变换、随机数生成等高级功能,是数据科学和机器学习领域不可或缺的工具。
掌握NumPy的基本用法,可以帮助你更高效地处理和分析数据,为进一步学习其他科学计算库打下坚实的基础。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。