当前位置: 首页 > news >正文

numpy学习笔记4:np.arange(0, 10, 2) 的详细解释

numpy学习笔记4:np.arange(0, 10, 2) 的详细解释

以下是 np.arange(0, 10, 2) 的详细解释:


1. 函数作用

np.arange() 是 NumPy 中用于生成均匀间隔数值序列的函数,类似于 Python 内置的 range(),但返回的是 NumPy 数组而非列表,且支持浮点数步长。


2. 语法

numpy.arange([start, ]stop, [step, ]dtype=None)
  • 参数

    • start(可选):起始值(默认为 0)。

    • stop:终止值(结果不包含此值)。

    • step(可选):步长(默认为 1)。

    • dtype(可选):数组数据类型(如 intfloat)。


3. 示例解析

import numpy as nparr = np.arange(0, 10, 2)
print(arr)  # 输出: [0 2 4 6 8]
参数说明
  • start=0:序列从 0 开始。

  • stop=10:序列在达到或超过 10 前停止(不包含 10)。

  • step=2:每个元素间隔 2

输出逻辑

生成的序列为:
0, 0+2=2, 2+2=4, 4+2=6, 6+2=8(下一个值 8+2=10 超出 stop,因此终止)。


4. 对比 Python 的 range()

特性np.arange()range()
返回值类型NumPy 数组迭代器(Python3)
支持浮点数步长是(如 step=0.5否(仅整数)
内存效率生成完整数组动态生成元素(惰性计算)

5. 常见用法

(1) 生成整数序列
# 从 5 到 14(不包含15),步长 5
arr = np.arange(5, 15, 5)  # 输出: [5, 10]
(2) 生成浮点数序列
# 从 0.0 到 1.0(不包含1.0),步长 0.2
arr = np.arange(0, 1, 0.2)  # 输出: [0.0, 0.2, 0.4, 0.6, 0.8]
(3) 指定数据类型

python

arr = np.arange(0, 10, 2, dtype=float)  # 输出: [0., 2., 4., 6., 8.]

6. 注意事项

(1) 终止值不包含
  • np.arange(0, 10, 2) 的最后一个元素是 8(而非 10)。

(2) 步长为负时需反向
  • 若 start > stop,步长需为负数:

    arr = np.arange(10, 0, -2)  # 输出: [10, 8, 6, 4, 2]
(3) 浮点数精度问题
  • 由于浮点数精度限制,可能无法精确达到预期长度:

    # 预期生成 0.0, 0.1, ..., 0.9,实际可能缺失末位元素
    arr = np.arange(0, 1, 0.1)

7. 应用场景

  1. 生成坐标轴数据(如绘制函数图像):

    x = np.arange(0, 2*np.pi, 0.1)
    y = np.sin(x)
  2. 批量索引操作

    indices = np.arange(0, 100, 5)  # 选择每第5个元素
  3. 数值模拟

    time_steps = np.arange(0, 10, 0.01)  # 时间序列模拟

8. 与 np.linspace() 的对比

函数np.arange()np.linspace()
核心逻辑通过步长控制间隔通过数量控制间隔
是否包含终止值不包含包含(默认)
适用场景已知步长的均匀序列已知元素数量的均匀分布序列

通过 np.arange(),你可以快速生成符合需求的数值序列,适用于科学计算、数据分析和工程建模!


http://www.mrgr.cn/news/95000.html

相关文章:

  • sparksql的Transformation与 Action操作
  • 浏览器工作原理深度解析(阶段二):HTML 解析与 DOM 树构建
  • 【二分查找】模板题:在排序数组中查找元素的第一个和最后一个位置
  • React生命周期
  • 可视化图解算法:链表中倒数(最后)k个结点
  • java-正则表达式-集合-泛型
  • 【数据库】SQL设计指南:如何编写性能优异的SQL
  • el-table的行向上移动向下移动,删除选定行
  • Diffie-Hellman 加密协议介绍 (DH,DHE,ECDHE)
  • docker(1) -- centos镜像
  • CAN及CANFD协议
  • 使用 Promise 和 .then() 解决同异步问题
  • Optiplex 3060 MT 电脑型号与尺寸
  • Qwen2.5-VL 开源视觉大模型,模型体验、下载、推理、微调、部署实战
  • C++基础: Rule of five/zero/three
  • 【数据结构】顺序表(附源码)
  • 《大语言模型》学习笔记(三)
  • 生成PDF文件:从html2canvas和jsPdf渲染到Puppeteer矢量图
  • SSL/TLS 和 SSH 区别
  • 2025最新!人工智能领域大模型学习路径、大模型使用、AI工作流学习路径