创建numpy数组,从0到1开始,增量为0.1 [重复]

yzckvree  于 2023-06-23  发布在  其他
关注(0)|答案(2)|浏览(123)

此问题已在此处有答案

Generate equally-spaced values including the right end using NumPy.arange(3个答案)
3天前关闭。
我在学习Python。我想在python中创建一个numpy数组,从0开始到1,增量为0.1。这就是代码:

import numpy as np
t=np.arange(0, 1, 0.1)
print(t)

结果是

[0.  0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]

但是“1”不包含在数组中,如何将1包含在数组中?我们是手动将1添加到数组中,还是其他方法?

eni9jsuy

eni9jsuy1#

np.arange文档中所述
arange(stop):在半开区间[0, stop)(即包含 start 但不包含 stop 的区间)内生成值。
arange(start, stop):在半开间隔[start, stop)内生成值。
arange(start, stop, step)值在半开interval [start, stop)内生成,值之间的间距由step给出。
因此,要包含1,只需将代码更改为np.arange(0, 1.1, 0.1)(任何大于1且小于或等于1.1的值都可以)

>>> np.arange(0, 1.1, 0.1)
array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. ])
pkbketx9

pkbketx92#

Python有一个约定,当指定一个范围时,它将从开始值到结束值之前的范围进行迭代(例如for x in range(0, 15)将为x分配从0到14的每个值,而不是15)。在你的例子中,你可以通过设置中间参数(它与迭代器即将停止的结束值相关)刚好超过1来解决这个问题。1.1),或通过手动添加1.就像你说的那样。

相关问题