运行numpy logspace代码遇报错:float无法安全解释为整数
解决np.logspace触发的TypeError错误
嘿,我来帮你搞定这个numpy的TypeError问题!你遇到的这个错误,核心是两个小细节没处理对:
第一个问题:样本数量是浮点数
np.logspace的第三个参数num(用来指定生成多少个样本点)要求必须是整数,但你写的11.是浮点数类型,numpy没办法安全地把它转换成整数,所以直接抛出了TypeError。第二个问题:冗余的逗号
你的np.log10(10,)里多了个不必要的逗号,虽然这不会直接引发当前错误,但属于多余的写法,建议去掉。
修正后的代码
直接修改这两个点就能正常运行了:
import numpy as np a = np.logspace(-1, np.log10(10), 11)[::-1]
更简洁的写法
其实np.log10(10)的结果就是1.0,你完全可以直接用整数1替代,代码会更清晰:
a = np.logspace(-1, 1, 11)[::-1]
运行这段代码后,会生成一个从10到0.1的等比数列(因为[::-1]是反转数组),一共11个元素,完全符合你的需求。
内容的提问来源于stack exchange,提问作者avi
相关产品推荐
相关产品推荐

