2024-04-19 22:22:14 发布
网友
x=np.arange公司(0.3,12.5,0.6)
打印(x)
9.7.1.3.7.1.3.9.5.1.7.5.3.3
x=np.arange公司(0.3,12.5,0.6,内景)
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
指定dtype = int时,它将开始、停止和步进转换为相同的。在
dtype = int
所以,它变成int(start), int(stop), int(step)。在
int(start), int(stop), int(step)
因此,在您的例子中,当指定了dtype=int时,start和step保持为0,并且得到一个满是0的数组
这个问题在这里已经讨论过,并作了解释:
https://github.com/numpy/numpy/issues/2457
首先让我们跳过浮点步骤的复杂性,使用一个简单的整数开始和结束:
In [141]: np.arange(0,5) Out[141]: array([0, 1, 2, 3, 4]) In [142]: np.arange(0,5, dtype=int) Out[142]: array([0, 1, 2, 3, 4]) In [143]: np.arange(0,5, dtype=float) Out[143]: array([0., 1., 2., 3., 4.]) In [144]: np.arange(0,5, dtype=complex) Out[144]: array([0.+0.j, 1.+0.j, 2.+0.j, 3.+0.j, 4.+0.j]) In [145]: np.arange(0,5, dtype='datetime64[D]') Out[145]: array(['1970-01-01', '1970-01-02', '1970-01-03', '1970-01-04', '1970-01-05'], dtype='datetime64[D]')
即使bool也能在一定范围内工作:
bool
有两个可能的布尔值,所以要求更多应该会产生某种错误。在
arange是经过编译的代码,因此我们无法轻易检查其逻辑(但是欢迎您在github上搜索C代码)。在
arange
示例表明,在某种意义上,它确实将参数转换为相应的dtype,并在此基础上执行迭代。它并不是简单地生成范围并在末尾转换为dtype。在
dtype
指定
dtype = int
时,它将开始、停止和步进转换为相同的。在所以,它变成
int(start), int(stop), int(step)
。在因此,在您的例子中,当指定了dtype=int时,start和step保持为0,并且得到一个满是0的数组
这个问题在这里已经讨论过,并作了解释:
https://github.com/numpy/numpy/issues/2457
首先让我们跳过浮点步骤的复杂性,使用一个简单的整数开始和结束:
即使
^{pr2}$bool
也能在一定范围内工作:有两个可能的布尔值,所以要求更多应该会产生某种错误。在
arange
是经过编译的代码,因此我们无法轻易检查其逻辑(但是欢迎您在github上搜索C代码)。在示例表明,在某种意义上,它确实将参数转换为相应的
dtype
,并在此基础上执行迭代。它并不是简单地生成范围并在末尾转换为dtype。在相关问题 更多 >
编程相关推荐