NumPy(Numerical Python)是 Python 中用于科学计算的核心库,专注于高效处理多维数组(ndarray 对象)和数值运算。它为 Python 提供了强大的数组操作能力,是数据科学、机器学习、工程计算等领域的基础工具。
以下是numpy的一些基本操作与语法:
import numpy as np
# 创建数组
a = np.array([1, 2, 3, 4])
b = np.array([[1, 2, 3], [4, 5, 6]])
c = np.array([1, 2, 3, 4], ndmin=3)
print(a)
print(b)
print(c)
# 快速创建
np.zeros((3, 4))
np.ones((3, 4))
np.arange(0, 10, 2) # 0 2 4 6 8
np.linspace(0, 10, 5) #0到1均分5个点
np.random.rand(3, 4) # 0到1的随机数,三行四列
# 数组属性
a = np.array([[1, 2, 3], [4, 5, 6]])
print(a.shape) # (2, 3) 形状
print(a.size) # 6 大小
print(a.dtype) # int64 数据类型
print(a.itemsize)# 8 数据类型字节数
print(a.nbytes) # 48 数据字节数
print(a.ndim) # 2 维度
#数学运算
a = np.array([1,2,3])
b = np.array([4,5,6])
print(a+b)
print(a-b)
print(a*b)
print(a/b)
print(a**b)
print(np.sin(a))
print(np.exp(a))
# 矩阵乘法、
a = np.array([[1,2],[3,4]])
b = np.array([[5,6],[7,8]])
print(np.dot(a,b))
# 形状操作
a = np.array([[1,2,3],[4,5,6]])
print(a.reshape(3,2)) #改变形状
print(a.T) # 转置
print(a.flatten()) # 展平成一维
# 拼接
np.hstack((a,b)) # 横向拼接
np.vstack((a,b)) # 纵向拼接
np.hsplit(a,2) # 横向切分,平均切分成2分
np.vsplit(a,2) # 纵向切分,平均切分成2分
# 切片
a = np.array([[1,2,3],[4,5,6],[7,8,9]])
print(a[0,1]) # 第0行第1列
print(a[:,1]) # 所有行第1列
print(a[0:2,1:3]) # 0到1行,1到2列
print(a[1, :]) # 第1行所有列