2024-04-25 16:38:20 发布
网友
在寻找复制时:
In [61]: np.arange(0,5) Out[61]: array([0, 1, 2, 3, 4])
使用np.linspace(),我观察到:
np.linspace()
In [70]: np.linspace(1,5,5, dtype = int, endpoint=False) Out[70]: array([1, 1, 2, 3, 4])
为什么在这种情况下np.linspace()要包含两次值1?
因为linspace是在float上定义的,在您的情况下会返回:
np.linspace(1,5,5, endpoint=False) array([ 1. , 1.8, 2.6, 3.4, 4.2])
然后使用int作为dtype向下舍入,得到两个1结果:
int
1
array([ 1 , 1, 2, 3, 4])
顺便说一句:如果您想创建包含integer的arrays,那么使用np.arange可能更合适:
integer
arrays
np.arange
np.arange(1,5) array([ 1, 2, 3, 4])
我不能测试,因为数据类型是在1.9中引入的,我有1.8。没有数据类型,我得到:
那么
array([1, 1, 2, 3, 4])
是这个的一个缩影。
你会得到你想要的
np.linspace(1,5,5, dtype=int)
但正如另一个答案所建议的,最好使用np.arange()。
因为linspace是在float上定义的,在您的情况下会返回:
然后使用
int
作为dtype向下舍入,得到两个1
结果:顺便说一句:如果您想创建包含
integer
的arrays
,那么使用np.arange
可能更合适:我不能测试,因为数据类型是在1.9中引入的,我有1.8。没有数据类型,我得到:
那么
是这个的一个缩影。
你会得到你想要的
但正如另一个答案所建议的,最好使用np.arange()。
相关问题 更多 >
编程相关推荐