以下是专为零基础学习者设计的 NumPy 入门 Day 1 学习内容,用最直观的方式帮你理解核心概念👇
🎯 学习目标
- 安装 NumPy
- 理解数组、形状、数据类型
- 用 4 种方法创建数组
1. 安装 NumPy
作用:NumPy 是 Python 的“数学工具箱”,用于快速处理数组和矩阵。
安装方法:
打开命令行(Windows 搜索 cmd
/ Mac 用 Terminal
),输入以下命令:
pip install numpy
验证是否安装成功:
import numpy as np # 导入时通常简写为 np
print(np.__version__) # 输出如:1.21.5
2. NumPy 核心概念
2.1 数组(ndarray)
- 是什么:类似 Excel 表格,但所有元素必须是同一种类型(比如全是数字)。
- 为什么强于 Python 列表:运算速度快百倍,适合处理大量数据。
2.2 形状(shape)
- 是什么:描述数组的“维度结构”。
- 一维数组形状:
(n,)
(比如(5,)
表示 5 个元素) - 二维数组形状:
(行数, 列数)
(比如(3,4)
表示 3 行 4 列)
- 一维数组形状:
2.3 数据类型(dtype)
- 是什么:定义数组中元素的类型,如整数、浮点数。
- 常见类型:
int32
:整数(-2147483648 到 2147483647)float64
:小数(精度更高)bool
:True/False
3. 创建数组的 4 种方法
方法 1:从 Python 列表转换
import numpy as np
# 一维数组(类似列表)
arr1 = np.array([1, 2, 3])
print(arr1) # 输出:[1 2 3]
# 二维数组(类似表格)
arr2 = np.array([[1, 2], [3, 4]])
print(arr2) # 输出:[[1 2] [3 4]]
方法 2:自动生成序列
np.arange(起点, 终点, 步长)
arr = np.arange(0, 10, 2) # 类似 range()
print(arr) # 输出:[0 2 4 6 8]
np.linspace(起点, 终点, 元素个数)
arr = np.linspace(0, 1, 5) # 0到1之间平均取5个数
print(arr) # 输出:[0. 0.25 0.5 0.75 1. ]
方法 3:快速生成特殊数组
# 全零数组(常用于初始化)
zeros = np.zeros((2, 3)) # 2行3列
print(zeros)
# 输出:[[0. 0. 0.] [0. 0. 0.]]
# 全一数组
ones = np.ones((3, 2)) # 3行2列
print(ones)
# 输出:[[1. 1.] [1. 1.] [1. 1.]]
# 单位矩阵(对角线为1)
eye = np.eye(3) # 3x3
print(eye)
# 输出:[[1. 0. 0.] [0. 1. 0.] [0. 0. 1.]]
方法 4:生成随机数组
# 生成 0~1 之间的随机数
random_arr = np.random.random((2, 2)) # 2x2的数组
print(random_arr)
# 示例输出:[[0.48 0.92] [0.13 0.76]]
4. 关键技巧
查看数组属性
arr = np.array([[1, 2], [3, 4]])
print("形状:", arr.shape) # 输出:(2, 2)
print("数据类型:", arr.dtype) # 输出:int32 或 int64
print("元素总数:", arr.size) # 输出:4
💡 练习任务
- 创建一个形状为
(2, 3)
的全一数组 - 用
np.arange
生成[5, 7, 9, 11]
- 生成一个 3x3 的随机数组,并查看它的形状和数据类型
✨ 提示:所有操作都像搭积木一样简单!遇到问题随时回看示例代码,动手试错是最好的学习方式!明天我们将学习如何操作和修改这些数组~