欢迎访问宙启技术站
智能推送

Python中的numpy函数库:基础操作和高级用法

发布时间:2023-06-27 03:31:01

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函数库的基础操作和高级用法,包括数组的创建和访问、数组运算、广播、聚合函数、排序、随机数和文件读写。了解这些功能可以大大提高数据处理和机器学习的效率。