我想轻松地以对数刻度创建数组,并且我已经使用
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)]
答案 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])