python numpy教程
时间: 2023-06-21 17:21:06 浏览: 309
NumPy是Python的一个科学计算库,它提供了一种高性能的多维数组对象和用于操作这些数组的各种工具。本教程将介绍NumPy库的基本使用方法。
### 安装
在使用NumPy库之前,需要先安装它。可以使用pip命令来安装NumPy库,如下所示:
```
pip install numpy
```
### 导入
在使用NumPy库之前,需要先导入它。可以使用以下代码来导入NumPy库:
```python
import numpy as np
```
### 数组的创建
NumPy库中最重要的对象是数组(ndarray)。可以使用以下方法来创建数组:
#### 从列表中创建数组
```python
import numpy as np
lst = [1, 2, 3, 4]
arr = np.array(lst)
print(arr)
```
输出结果为:
```
[1 2 3 4]
```
#### 创建全0数组
```python
import numpy as np
arr = np.zeros((2, 3))
print(arr)
```
输出结果为:
```
[[0. 0. 0.]
[0. 0. 0.]]
```
#### 创建全1数组
```python
import numpy as np
arr = np.ones((2, 3))
print(arr)
```
输出结果为:
```
[[1. 1. 1.]
[1. 1. 1.]]
```
#### 创建随机数数组
```python
import numpy as np
arr = np.random.rand(2, 3)
print(arr)
```
输出结果为:
```
[[0.47679925 0.7088369 0.04797608]
[0.19182527 0.02248063 0.25146351]]
```
### 数组的操作
NumPy库提供了许多对数组进行操作的函数和方法,以下是一些常用的操作:
#### 数组的形状
可以使用shape属性来获取数组的形状:
```python
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
print(arr.shape)
```
输出结果为:
```
(2, 3)
```
#### 数组的转置
可以使用T属性来获取数组的转置:
```python
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
print(arr.T)
```
输出结果为:
```
[[1 4]
[2 5]
[3 6]]
```
#### 数组的切片
可以使用切片来获取数组中的一部分:
```python
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
print(arr[:, 1:])
```
输出结果为:
```
[[2 3]
[5 6]]
```
#### 数组的拼接
可以使用concatenate方法来拼接数组:
```python
import numpy as np
arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[5, 6], [7, 8]])
arr3 = np.concatenate((arr1, arr2), axis=0)
print(arr3)
```
输出结果为:
```
[[1 2]
[3 4]
[5 6]
[7 8]]
```
### 数组的运算
NumPy库提供了许多对数组进行运算的函数和方法,以下是一些常用的运算:
#### 数组的加减乘除
可以对数组进行加减乘除运算:
```python
import numpy as np
arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[5, 6], [7, 8]])
# 加法
print(arr1 + arr2)
# 减法
print(arr1 - arr2)
# 乘法
print(arr1 * arr2)
# 除法
print(arr1 / arr2)
```
输出结果为:
```
[[ 6 8]
[10 12]]
[[-4 -4]
[-4 -4]]
[[ 5 12]
[21 32]]
[[0.2 0.33333333]
[0.42857143 0.5 ]]
```
#### 数组的矩阵乘法
可以使用dot方法来进行数组的矩阵乘法运算:
```python
import numpy as np
arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[5, 6], [7, 8]])
print(np.dot(arr1, arr2))
```
输出结果为:
```
[[19 22]
[43 50]]
```
### 总结
本教程介绍了NumPy库的基本使用方法,包括数组的创建、操作和运算。NumPy库提供了许多高效的数组操作函数和方法,能够大大提高数据处理效率。
阅读全文