numpy库的基本使用
时间: 2025-01-04 11:27:57 浏览: 13
### Numpy库基础用法教程
#### 什么是Numpy?
Numpy是一个用于科学计算的基础库,特别适用于处理大型多维数组和矩阵。该库不仅提供高效的存储和操作这些数据结构的方法,还包含了大量执行数学运算的功能[^1]。
#### 导入Numpy
为了避免名称冲突并简化调用过程,推荐使用`import numpy as np`的方式引入此模块[^2]:
```python
import numpy as np
```
#### 创建数组
可以利用多种方法来构建新的数组实例。最常用的技术是从列表或其他序列类型的对象转换而来;另外还有专门设计用来生成特定模式的数据集的函数,比如线性空间内的均匀分布点或是随机数样本等[^4]。
- 使用`array()`从现有数据创建:
```python
arr = np.array([1, 2, 3])
print(arr)
# Output: [1 2 3]
```
- 利用内置函数快速定义常见形式的数组:
- `zeros(shape)`:全零填充的新数组;
- `ones(shape)`:全部元素均为1的新数组;
- `empty(shape)`:未初始化(即含有任意值)的新数组;
- `arange(start, stop, step)`:按照给定间隔递增的一系列整数值;
- `linspace(start, end, num=50)`:在线段上平均分配指定数量的样例点。
例如:
```python
zero_arr = np.zeros((2, 3))
one_arr = np.ones((2, 3))
range_arr = np.arange(0, 9, 2)
print(zero_arr)
# Output:
# [[0. 0. 0.]
# [0. 0. 0.]]
print(one_arr)
# Output:
# [[1. 1. 1.]
# [1. 1. 1.]]
print(range_arr)
# Output: [0 2 4 6 8]
```
#### 数组属性与索引访问
一旦拥有了一个数组之后,可以通过`.shape`, `.dtype`, 和 `.size` 属性了解它的维度大小、内部元素类型以及总项数目。对于单个或多个位置上的读取/修改,则遵循标准Python切片语法加上额外的支持负向计数等功能。
```python
a = np.array([[1., 2., 3.], [4., 5., 6.]])
row_count, col_count = a.shape
element_type = a.dtype
total_elements = a.size
first_element = a[0][0] # 获取第一个元素
last_row_slice = a[-1,:] # 取最后一行的所有列
print(f'Shape of array is {row_count}x{col_count}')
print(f'Data type inside the array is {element_type}')
print(f'Total number of elements in this matrix equals to {total_elements}')
print(first_element)
print(last_row_slice)
```
#### 矩阵运算
支持常规意义上的加减乘除四则混合运算外,也能够方便地完成诸如转置(`T`)、求逆(inverse)、行列式(determinant)之类的高级变换。特别是针对两个相同形状的二维表之间实施内积(dot product),可通过`dot()`实现[^5]。
```python
A = np.random.rand(2, 3)
B = np.random.rand(3, 2)
C = A @ B # 或者 C = np.dot(A,B)
transposed_A = A.T
determinant_B = np.linalg.det(B)
print(C)
print(transposed_A)
print(determinant_B)
```
阅读全文