Python中的numpy函数库:基础操作和高级用法
Python中的numpy函数库是数据科学和机器学习中最常用的库之一,它提供了常用的数组操作和矩阵运算。本文将介绍numpy函数库的基础操作和高级用法。
### 基础操作
#### 创建数组
首先,我们需要导入numpy库:
import numpy as np
接下来,我们可以使用numpy的array函数创建数组,如下所示:
arr = np.array([1, 2, 3, 4, 5]) print(arr)
输出结果如下:
[1 2 3 4 5]
我们也可以使用numpy的arange函数创建一个范围内的数组,如下所示:
arr = np.arange(0, 10, 2) print(arr)
输出结果如下:
array([0, 2, 4, 6, 8])
#### 访问数组元素
我们可以使用下标访问数组中的元素,下标从0开始。如下所示:
arr = np.array([1, 2, 3, 4, 5]) print(arr[2])
输出结果如下:
3
如果数组是多维的,我们可以用逗号分隔下标来访问元素,如下所示:
arr = np.array([[1, 2, 3], [4, 5, 6]]) print(arr[0, 1])
输出结果如下:
2
#### 数组运算
numpy提供了许多数组运算,例如逐元素加、逐元素乘、矩阵乘法等。如下所示:
a = np.array([1, 2, 3]) b = np.array([4, 5, 6]) print(a + b) print(a * b) print(np.dot(a, b))
输出结果如下:
[5 7 9] [ 4 10 18] 32
### 高级用法
#### 广播
numpy的广播机制是指不同形状的数组进行运算的规则。如果两个数组的形状不同,numpy会尝试将它们进行广播使它们的形状相同再进行运算。如下所示:
a = np.array([1, 2, 3]) b = np.array([[4, 5, 6], [7, 8, 9]]) print(a + b)
输出结果如下:
[[ 5 7 9] [ 8 10 12]]
#### 聚合函数
numpy提供了许多聚合函数,例如求和、平均、最大值、最小值等。如下所示:
arr = np.array([1, 2, 3, 4, 5]) print(np.sum(arr)) print(np.mean(arr)) print(np.max(arr)) print(np.min(arr))
输出结果如下:
15 3.0 5 1
#### 排序
numpy提供了排序函数,如下所示:
arr = np.array([2, 4, 1, 5, 3]) print(np.sort(arr))
输出结果如下:
[1 2 3 4 5]
我们也可以使用argsort函数获得数组中每个元素在排序后的数组中的下标,如下所示:
arr = np.array([2, 4, 1, 5, 3]) print(np.argsort(arr))
输出结果如下:
[2 0 4 1 3]
#### 随机数
numpy提供了生成随机数的函数,如下所示:
arr = np.random.rand(3, 3) print(arr)
输出结果如下:
[[0.31409906 0.41327504 0.19679986] [0.660672 0.35870633 0.9548254 ] [0.40807822 0.39207707 0.51738821]]
#### 文件读写
我们可以将数组保存成文件或从文件中读取数组。如下所示:
arr = np.array([1, 2, 3, 4, 5])
np.save('arr.npy', arr)
arr2 = np.load('arr.npy')
print(arr2)
输出结果如下:
[1 2 3 4 5]
### 总结
本文介绍了numpy函数库的基础操作和高级用法,包括数组的创建和访问、数组运算、广播、聚合函数、排序、随机数和文件读写。了解这些功能可以大大提高数据处理和机器学习的效率。
