NumPy 中级教程——数组操作

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
大数据开发治理平台 DataWorks,不限时长
简介: NumPy 中级教程——数组操作

Python NumPy 中级教程:数组操作

NumPy 是 Python 中用于科学计算的核心库之一,提供了强大的数组操作功能。本篇博客将深入介绍 NumPy 中的数组操作,包括数组的切片、索引、形状操作、合并与分割等,通过实例演示如何应用这些功能。

1. 安装 NumPy

确保你已经安装了 NumPy。如果尚未安装,可以使用以下命令:

pip install numpy

2. 导入 NumPy 库

在使用 NumPy 进行数组操作之前,导入 NumPy 库:

import numpy as np

3. 创建示例数组

在学习数组操作之前,首先创建一些示例数组:

# 创建一维数组
arr1 = np.array([1, 2, 3, 4, 5])

# 创建二维数组
arr2 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# 创建零数组
zeros_arr = np.zeros((3, 3))

# 创建全一数组
ones_arr = np.ones((2, 4))

# 创建等差数列
arange_arr = np.arange(0, 10, 2)

# 创建均匀分布的数组
linspace_arr = np.linspace(0, 1, 5)

4. 数组的基本操作

4.1 数组索引与切片

# 数组索引
print(arr1[2])  # 输出:3

# 数组切片
print(arr1[1:4])  # 输出:[2, 3, 4]

4.2 数组形状操作

# 获取数组形状
print(arr2.shape)  # 输出:(3, 3)

# 改变数组形状
reshaped_arr = arr2.reshape(9)
print(reshaped_arr)

5. 数组合并与分割

5.1 数组合并

# 水平合并
hstack_arr = np.hstack((arr2, arr2))

# 垂直合并
vstack_arr = np.vstack((arr2, arr2))

5.2 数组分割

# 水平分割
hsplit_arr = np.hsplit(arr2, 3)

# 垂直分割
vsplit_arr = np.vsplit(arr2, 3)

6. 数组运算

6.1 元素级运算

# 加法
add_arr = arr1 + 2

# 乘法
mul_arr = arr1 * 3

# 平方
squared_arr = arr1 ** 2

6.2 矩阵运算

# 矩阵乘法
mat_mul_arr = np.dot(arr2, arr2)

7. 数组统计与数学函数

7.1 统计函数

# 平均值
mean_value = np.mean(arr1)

# 最大值
max_value = np.max(arr1)

# 标准差
std_deviation = np.std(arr1)

7.2 数学函数

# 指数函数
exp_arr = np.exp(arr1)

# 对数函数
log_arr = np.log(arr1)

# 平方根
sqrt_arr = np.sqrt(arr1)

8. 布尔运算与条件筛选

# 布尔运算
bool_arr = arr1 > 3

# 条件筛选
filtered_arr = arr1[arr1 > 3]

9. 广播

# 广播
broadcast_arr = arr1 + np.array([10, 20, 30, 40, 50])

10. 随机数生成

# 随机整数数组
rand_int_arr = np.random.randint(1, 100, size=(3, 3))

# 随机正态分布数组
rand_norm_arr = np.random.randn(2, 4)

11. 总结

通过学习以上 NumPy 中的数组操作,你可以更灵活地处理和分析数组数据。这些功能包括数组的切片、索引、形状操作、合并与分割、数组运算、统计与数学函数等。希望这篇博客能够帮助你更好地理解和运用 NumPy 中的数组操作。

目录
相关文章
|
2天前
|
索引 Python
NumPy 数组迭代与合并详解
NumPy 数组迭代包括基本和高级方法。使用 `for` 循环可迭代一维、二维及多维数组。`np.nditer()` 提供更多控制,如迭代顺序、过滤、类型转换和步长。`np.ndenumerate()` 返回元素及其索引。练习涉及合并数组操作。
9 0
|
2天前
|
Python
NumPy 数组复制与视图详解
NumPy 的复制和视图用于创建新数组。复制创建独立于原数组的新数组,如 `arr.copy()`、`np.array(arr)` 和 `arr[:]`。视图则是原始数组的引用,修改会影响原数组,如 `arr.view()`、切片和 `arr.reshape()`。使用 `arr.base` 可检查数组是否为视图。练习:创建数组 `arr` 并用三种方法创建副本,验证它们是否独立。
17 0
NumPy 数组复制与视图详解
|
2天前
|
存储 索引 Python
NumPy 数组切片及数据类型介绍
了解 NumPy 数组切片,用于从数组中提取子集。一维数组切片使用 `start:end:step`,如 `arr[1:5]`。二维数组切片如 `arr[1:3, 0:3]`。创建 5x5 数组并练习切片,例如打印第一行、第二列、对角线元素和 2x2 子数组。别忘了检查数据类型,如 `arr.dtype`,并使用 `astype()` 转换类型。
23 0
|
2天前
|
存储 索引 Python
NumPy 数组创建方法与索引访问详解
NumPy 的 `ndarray` 是其核心数据结构,可通过 `array()`、`zeros()`、`ones()` 和 `empty()` 函数创建。`array()` 可以将列表等转换为数组;`zeros()` 和 `ones()` 生成全零或全一数组;`empty()` 创建未定义值的数组。此外,还有 `arange()`、`linspace()`、`eye()` 和 `diag()` 等特殊函数。练习包括使用这些函数创建特定数组。
116 1
|
2天前
|
存储 数据挖掘 API
【NumPy基础】- Numpy数组和矢量计算
【NumPy基础】- Numpy数组和矢量计算
|
2天前
|
机器学习/深度学习 测试技术 数据处理
Numpy Tile:数组复制的艺术与效率之键
【4月更文挑战第21天】
21 0
|
2天前
|
存储 数据采集 数据处理
《Numpy 简易速速上手小册》第6章:Numpy 高级数组操作(2024 最新版)
《Numpy 简易速速上手小册》第6章:Numpy 高级数组操作(2024 最新版)
33 1
《Numpy 简易速速上手小册》第6章:Numpy 高级数组操作(2024 最新版)
|
2天前
|
存储 算法 数据处理
《Numpy 简易速速上手小册》第3章:Numpy 数组操作与变换(2024 最新版)
《Numpy 简易速速上手小册》第3章:Numpy 数组操作与变换(2024 最新版)
38 0
|
2天前
|
存储 数据采集 数据挖掘
《Numpy 简易速速上手小册》第2章:Numpy 数据类型和数组构造(2024 最新版)
《Numpy 简易速速上手小册》第2章:Numpy 数据类型和数组构造(2024 最新版)
26 0
|
2天前
|
架构师 Java Python
NumPy 系列教程 001:入门和使用数组
NumPy 系列教程 001:入门和使用数组
20 0

热门文章

最新文章