weixin_44200144 2022-04-22 20:00 采纳率: 100%
浏览 603
已结题

python 的numpy中arange()函数终值包含问题

import numpy as np
ab=np.arange(1.58,1.61,0.01)
abc=np.arange(1.58,1.65,0.01)
print(ab)
print(abc)

结果:
[1.58 1.59 1.6 1.61]
[1.58 1.59 1.6 1.61 1.62 1.63 1.64]

问题:arange()函数一个包含终值,一个不包含终值,是为啥呢?

  • 写回答

1条回答 默认 最新

  • 夜半罟霖 2022-04-22 20:49
    关注

    这个问题你可以去看看np.arange的官方文档,里面提到说如果step不是整数时,建议使用np.linespace函数,因为此时np.arange函数存在着数值不稳定的问题。实际上np.arange函数采用的step是dtype(start+step)-dtype(start),当dtype参数没有显式给出的时候会根据其他输入参数进行推断,输入的为float类型,计算出的实际step就也为float型,且不稳定一般不等于原始输入step。见下述代码:

    float(1.58+0.1)-float(1.58)
    Out[20]: 0.10000000000000009
    

    官方文档:
    https://numpy.org/doc/stable/reference/generated/numpy.arange.html

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月17日
  • 已采纳回答 5月9日
  • 创建了问题 4月22日

悬赏问题

  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥15 (关键词-阻抗匹配,HFSS,RFID标签天线)
  • ¥15 机器人轨迹规划相关问题
  • ¥15 word样式右侧翻页键消失