Python:TypeError:/:' float'不支持的操作数类型和'列出'

时间:2014-11-15 17:58:33

标签: python numpy integration

我尝试使用2个列表和1个numpy.ndarray进行陷阱集成。它不会工作,我无法确定是否需要将我的列表转换为其他数据类型。我很高兴实际功能是正确的,但我不确定如何继续?

功能是:

BB_flux = trapz((1./lamz)*flux*T,x=lamz)/trapz((1./lamz)*T,x=lamz)

其中Tlamz是列表,而flux是我通过插值制作的ndarray。

Tlamz都是通过读取csv文件,然后将值作为浮点数附加到Tlamz来生成的。

1 个答案:

答案 0 :(得分:3)

Python不支持列表上的算术运算(/,*,+, - )。 运算符+和*是列表操作。

由于你使用numpy,你可以将列表转换为numpy数组。

如果您想将lamz和T保留为列表,可以使用

w = numpy.asarray(T)/numpy.asarray(lamz)
BB_flux = trapz(w*flux,x=lamz)/trapz(w,x=lamz)