Numpy Logspace-为什么没有否定词?

时间:2018-12-18 00:15:05

标签: python python-3.x numpy

我想轻松地以对数刻度创建数组,并且我已经使用

for c in [np.logspace(1,3,num = 3, base=10, dtype=int)]:
    print(c)

对于正指数成功工作。但是,如果我要从负指数(即0.01)开始怎么办?为什么

for c in [np.logspace(-2,3,num = 6, base=10, dtype=int)]:
    print(c)

产生:

[   0    0    1   10  100 1000]

而不是

[   0.01    0.1    1   10  100 1000]

最重要的是,有一种方法可以使用numpy或类似的库而不是使用类似的方法来获得上述结果:

[10**i for i in range(-2,3)]

1 个答案:

答案 0 :(得分:4)

np.logspace()中,您添加了一个dtype=int关键字参数,这使该函数仅返回整数。

只需删除该参数:

np.logspace(-2, 3, num=6, base=10)
>>>array([1.e-02, 1.e-01, 1.e+00, 1.e+01, 1.e+02, 1.e+03])