【发布时间】:2015-01-12 23:05:56
【问题描述】:
我正在尝试使用 2 个列表和 1 个 numpy.ndarray 的函数进行 trapz 集成。它不起作用,我无法确定是否需要将列表转换为其他数据类型。我很高兴实际功能是正确的,但我不确定如何进行?
函数是:
BB_flux = trapz((1./lamz)*flux*T,x=lamz)/trapz((1./lamz)*T,x=lamz)
T 和 lamz 是列表,flux 是我通过插值制作的 ndarray。
T 和 lamz 都是通过读取 csv 文件然后将值作为浮点数附加到 T 和 lamz 来生成的。
【问题讨论】:
-
错误消息非常清楚地说明了问题 - 您期望的结果是什么,例如
1./lamz是吗? -
我应该只是得到一个大数字作为 BB_flux 的值。有没有 trapz 喜欢的数据类型?因为其他变量都不是浮点数,所以我不确定错误是如何发生的
-
@ThomasBennett。您正在尝试将值
1.除以不支持的普通 python 列表。您是否期望结果是浮动列表?为此,您需要使用列表理解:[1./x for x in lamz]。 -
我同意@ekhumoro。或者,您可以在给定行之前执行
lamz = np.array(lamz),然后您不需要更改该行。但是@ekhumoro 的解决方案更干净!
标签: python numpy integration