NumPy是Python中用于科学计算的一个基础库,提供了大量的数学函数和操作数组的工具。
安装
pip install numpy
创建数组
import numpy as np
arr1 = np.array([1, 2, 3, 4, 5]) # 创建一个一维数组
arr2 = np.array([[1, 2, 3], [4, 5, 6]]) # 创建一个二维数组
print(arr1)
print(arr2)
数组的维度
print(arr1.shape) # (5,)
print(arr2.shape) # (2, 3)
print(arr2.ndim) # 2
数组的运算
arr3 = np.array([1, 2, 3, 4, 5])
arr4 = np.array([6, 7, 8, 9, 10])
print(arr3 + arr4) # [ 7 9 11 13 15]
print(arr3 * arr4) # [ 6 14 24 36 50]
print(np.dot(arr3, arr4)) # 130
数组的索引和切片
arr5 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(arr5[0, 1]) # 2
print(arr5[1:, :2]) # [[4 5] [7 8]]
数组常用方法
print(np.sum(arr5)) # 45
print(np.min(arr5)) # 1
print(np.max(arr5)) # 9
print(np.mean(arr5)) # 5.0
print(arr5.reshape((1, 9))) # [[1 2 3 4 5 6 7 8 9]]
NumPy的常用API
数组创建
np.array()
:根据输入的数据创建数组。
np.ones()
:创建一个指定形状和类型的新数组,用1填充。
np.zeros()
:创建一个指定形状和类型的新数组,用0填充。
np.empty()
:返回一个给定形状和类型的新数组,而不初始化条目。
np.arange()
:在给定的间隔内返回均匀间隔的值。
np.linspace()
:在指定的间隔内返回均匀间隔的数字。
数组操作
arr.shape
:获取数组的形状。
arr.dtype
:获取数组元素的类型。
arr.reshape()
:返回具有相同数据但新形状的数组。
np.concatenate()
:沿指定轴连接数组序列。
np.stack()
:沿新轴连接数组序列。
数学函数
np.sum()
:计算数组元素的总和。
np.mean()
:计算数组元素的平均值。
np.std()
:计算数组元素的标准差。
np.var()
:计算数组元素的方差。
np.min()
:找到数组中的最小值。
np.max()
:找到数组中的最大值。
线性代数
np.dot()
:计算两个数组的点积。
np.linalg.inv()
:计算矩阵的逆。
np.linalg.det()
:计算矩阵的行列式。
np.linalg.eig()
:计算矩阵的特征值和特征向量。
文件操作
np.save()
:将数组保存到二进制文件中(.npy格式)。
np.load()
:从二进制文件中加载数组(.npy格式)。
np.savetxt()
:将数组保存到文本文件中。
np.loadtxt()
:从文本文件中加载数组。
随机数
np.random.rand()
:生成给定形状的数组,数组中的值在[0,1)之间。
np.random.randn()
:生成给定形状的数组,数组中的值服从标准正态分布。
np.random.randint()
:生成给定形状和范围的随机整数数组。