NumPy 基础教程

NumPy 是 Python 中用于科学计算的基础包。它提供了一个高性能的多维数组对象,以及用于操作数组的工具。本教程将介绍 NumPy 的安装、基本用法、数组操作以及一些高级功能。

一、引言

NumPy 是 Python 社区中最常用的科学计算库之一,它提供了高性能的多维数组对象以及用于处理这些数组的工具。NumPy 的数组(称为 ndarray)比 Python 的内置列表更加高效,尤其是在进行数学运算时。

二、安装 NumPy

通常情况下,安装 Anaconda 或者 Miniconda 就可以直接使用 NumPy。如果没有安装这些,可以通过 pip 或 conda 安装 NumPy:

 

Bash

深色版本

1pip install numpy

或者使用 conda:

 

Bash

深色版本

1conda install numpy

三、基本用法

一旦安装完成,就可以开始使用 NumPy 了。以下是一些基本的例子。

3.1 导入库

 

Python

深色版本

1import numpy as np

3.2 创建数组

 

Python

深色版本

1# 创建一个一维数组
2arr1 = np.array([1, 2, 3])
3
4# 创建一个多维数组
5arr2 = np.array([[1, 2, 3], [4, 5, 6]])
6
7# 创建一个全零数组
8zeros = np.zeros((2, 3))
9
10# 创建一个全一数组
11ones = np.ones((2, 3))
12
13# 创建一个指定范围内的等间距数组
14linspace = np.linspace(0, 1, 5)
15
16# 创建一个指定范围内的随机数组
17random = np.random.rand(2, 3)
18
19# 创建一个指定范围内的整数数组
20integers = np.arange(1, 10, 2)
21
22# 创建一个按照一定模式填充的数组
23filled = np.full((2, 2), 7)
24
25# 打印数组
26print(arr1)
27print(arr2)
28print(zeros)
29print(ones)
30print(linspace)
31print(random)
32print(integers)
33print(filled)

四、数组操作

NumPy 提供了许多用于操作数组的方法。

4.1 数组索引与切片

 

Python

深色版本

1# 一维数组的索引
2print(arr1[0])
3
4# 多维数组的索引
5print(arr2[0, 1])
6
7# 切片
8print(arr1[1:3])
9print(arr2[:, 1:])

4.2 数组重塑

 

Python

深色版本

1# 重塑数组形状
2reshaped = arr2.reshape(3, 2)
3print(reshaped)

4.3 数组连接

 

Python

深色版本

1# 水平连接
2hstack = np.hstack((arr1, arr1))
3
4# 垂直连接
5vstack = np.vstack((arr1, arr1))
6
7print(hstack)
8print(vstack)

4.4 数组分割

 

Python

深色版本

1# 水平分割
2split_h = np.hsplit(arr2, 2)
3
4# 垂直分割
5split_v = np.vsplit(arr2, 2)
6
7print(split_h)
8print(split_v)

4.5 数组转置

 

Python

深色版本

1# 转置
2transposed = arr2.T
3print(transposed)

4.6 数学运算

 

Python

深色版本

1# 加法
2addition = arr1 + arr1
3
4# 减法
5subtraction = arr1 - arr1
6
7# 乘法
8multiplication = arr1 * arr1
9
10# 除法
11division = arr1 / arr1
12
13# 幂运算
14power = arr1 ** 2
15
16# 打印结果
17print(addition)
18print(subtraction)
19print(multiplication)
20print(division)
21print(power)

4.7 统计运算

 

Python

深色版本

1# 求和
2sum_total = np.sum(arr1)
3
4# 最大值
5max_value = np.max(arr1)
6
7# 最小值
8min_value = np.min(arr1)
9
10# 平均值
11mean_value = np.mean(arr1)
12
13# 标准差
14std_deviation = np.std(arr1)
15
16# 方差
17variance = np.var(arr1)
18
19# 打印结果
20print(sum_total)
21print(max_value)
22print(min_value)
23print(mean_value)
24print(std_deviation)
25print(variance)

五、广播机制

NumPy 支持数组之间的广播机制,这使得不同形状的数组可以进行数学运算。

5.1 广播示例

 

Python

深色版本

1# 创建两个不同形状的数组
2a = np.array([1, 2, 3])
3b = np.array([2])
4
5# 广播加法
6result = a + b
7print(result)

六、索引与选择

NumPy 提供了多种方式来访问和选择数组中的元素。

6.1 布尔索引

 

Python

深色版本

1# 创建一个布尔数组
2bool_arr = arr1 > 1
3
4# 使用布尔数组进行索引
5selected = arr1[bool_arr]
6print(selected)

6.2 高级索引

 

Python

深色版本

1# 使用整数数组进行索引
2index_arr = np.array([1, 1, 2])
3selected = arr1[index_arr]
4print(selected)

七、结论

通过以上步骤,您已经掌握了 NumPy 的基本用法。NumPy 是进行科学计算和数据分析的基础,熟悉 NumPy 的操作将为您后续学习其他库(如 Pandas、Matplotlib 和 SciPy 等)打下坚实的基础。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DeepReinforce

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值