Python NumPy库
简介
NumPy是一个功能强大的Python库,名字源于Numerical和Python,主要用于对多维数组执行计算。由于大多机器学习算法本质上是在对向量、矩阵、张量(多维数组)进行操作,学习并熟练使用NumPy对于实践机器学习算法非常重要。
NumPy 数组
NumPy对Python数组(列表list)进行扩展,提供了称为NumPy数组的对象,并提供了大量的函数和计算符,帮助我们快速编写各种类型计算的高性能代码。
创建数组
arr = np.array([1,2,3,4]) # 创建NumPy一维数组
arr = np.array([[1,2], [3,4]]) # 创建NumPy二维数组
arr = np.zeros((4,5)) # 创建返回一个形状为(4,5)的矩阵,元素均为0
arr = np.ones((4,5)) # 创建返回一个形状为(4,5)的矩阵,元素均为1
arr = np.empty((4,5)) # 创建返回空数组,数组的值取决于内存状态
arr = np.full((4,5),3) # 创建返回形状为(4,5)、元素均为3的数组
arr = np.eye((4,4)) # 创建返回形状为(3,3)的单位矩阵
arr = np.arange(start, stop, step, dtype)
arr = np.linspace(a, b, number) # 返回NumPy数组,长度为number,在指定的间隔内返回均匀间隔的数字
arr = np.random.random((3,4)) # 创建返回形状为(3,4)、元素为0~1之间随机数的数组
数组属性
arr.shape # 返回数组的形状
arr.dtype # 数据类型
arr.size # 数组大小,即数字数目
arr.itemsize # 每一项的所占字节
arr.ndim # 维度
arr.nbytes # 整个数组所占字节
数组操作运算
a = np.array([[1,2],[3,4]])
b = np.array([[5,6],[7,8]])
sum = a+b /np.add(a,b) # 数组对应元素的和
diff = a-b /np.subtract(a,b) # 数组对应元素的差
prod = a*b /np.multiply(a,b) # 数组对应元素的积
div = a/b /np.divide(a,b) # 数组对应元素的商
a**2 # 数组每一项乘方
a>b # 数组对应元素进行比较,返回形状相同的bool型数组
a.dot(b) /np.dot(a,b) # 矩阵乘法,要满足矩阵乘法要求
a.reshape((1,4))
a.sum() /np.sum(a, axis=)# 所有元素相加
a.max() # 最大元素
a.min() # 最小元素
# where方法
b = np.where(a < 50)
b = np.transpose(a) /b=a.T #设置b为数组a的转置
b = np.tile(a,(2,3)) #以形状(2,3)铺陈a
数组索引
# 花式索引
a = np.arange(0, 100, 10)
indices = [1, 5, -1]
b = a[indices]
# bool屏蔽
import matplotlib.pyplot as plt
a = np.linspace(0, 2 * np.pi, 50)
b = np.sin(a)
plt.plot(a,b)
mask = b >= 0
plt.plot(a[mask], b[mask], 'bo')
mask = (b >= 0) & (a <= np.pi / 2)
plt.plot(a[mask], b[mask], 'go')
plt.show()
未完待续。。。
本文详细介绍Python中的NumPy库,包括其基本概念、数组创建方法、属性及操作等。通过实例展示了如何利用NumPy进行高效的科学计算。
474

被折叠的 条评论
为什么被折叠?



