python numpy 库详解
时间: 2025-06-14 07:47:48 浏览: 22
### Python NumPy 库功能详解及使用教程
NumPy 是一个强大的科学计算库,主要用于处理数组和矩阵运算。以下是关于 NumPy 的详细解释和使用说明:
#### 1. NumPy 数组的创建
NumPy 提供了多种方法来创建数组,例如通过列表转换、使用内置函数等。
```python
import numpy as np
# 从列表创建数组
arr = np.array([1, 2, 3, 4])
print(arr) # 输出 [1 2 3 4]
# 创建全零数组
zeros_arr = np.zeros((3, 4))
print(zeros_arr) # 输出 3x4 的全零矩阵[^2]
# 创建全一数组
ones_arr = np.ones((2, 3))
print(ones_arr) # 输出 2x3 的全一阵列
```
#### 2. 数据类型转换
NumPy 支持多种数据类型的转换,这可以通过 `astype` 方法实现。
```python
# 强制转换为浮点数
arr_int = np.array([1, 2, 3])
arr_float = arr_int.astype(np.float64)
print(arr_float) # 输出 [1.0, 2.0, 3.0]
# 转换为布尔值
arr = np.array([0, 1, -1, 3])
arr_bool = arr.astype(bool)
print(arr_bool) # 输出 [False, True, True, True]
```
#### 3. 数组的基本操作
NumPy 提供了许多用于数组操作的函数,如切片、重塑、拼接等。
```python
# 切片操作
arr = np.array([1, 2, 3, 4, 5])
print(arr[1:4]) # 输出 [2 3 4]
# 重塑数组
arr = np.array([1, 2, 3, 4, 5, 6])
reshaped_arr = arr.reshape((2, 3))
print(reshaped_arr) # 输出 [[1 2 3], [4 5 6]]
# 拼接数组
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
concatenated_arr = np.concatenate((arr1, arr2))
print(concatenated_arr) # 输出 [1 2 3 4 5 6]
```
#### 4. 数学运算
NumPy 提供了丰富的数学运算功能,可以对整个数组进行操作。
```python
# 基本数学运算
arr = np.array([1, 2, 3])
print(arr + 1) # 输出 [2 3 4]
print(arr * 2) # 输出 [2 4 6]
# 矩阵乘法
arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[2, 0], [1, 3]])
result = np.dot(arr1, arr2)
print(result) # 输出 [[ 4 6], [10 12]]
```
#### 5. 统计与聚合
NumPy 提供了许多统计和聚合函数,如求和、平均值、最大值等。
```python
# 计算总和
arr = np.array([1, 2, 3, 4])
print(np.sum(arr)) # 输出 10
# 计算平均值
print(np.mean(arr)) # 输出 2.5
# 查找最大值
print(np.max(arr)) # 输出 4
```
#### 6. 随机数生成
NumPy 提供了随机数生成的功能,可以生成符合不同分布的随机数组。
```python
# 生成均匀分布的随机数
random_arr = np.random.rand(3, 3)
print(random_arr)
# 生成标准正态分布的随机数
normal_arr = np.random.randn(3, 3)
print(normal_arr)
```
#### 7. 广播机制
广播机制允许形状不同的数组进行运算,前提是它们的维度兼容。
```python
# 广播示例
arr1 = np.array([[1, 2, 3], [4, 5, 6]])
arr2 = np.array([10, 20, 30])
result = arr1 + arr2
print(result) # 输出 [[11 22 33], [14 25 36]]
```
### 注意事项
- 在学习 NumPy 时,理解轴的概念非常重要,因为许多操作(如求和、拼接)都依赖于轴的指定[^1]。
- 如果对 NumPy 不熟悉,建议先了解其基本概念和常用函数,这将有助于更高效地使用 Pandas 等更高层次的库[^1]。
阅读全文
相关推荐

















