我尝试使用2个列表和1个numpy.ndarray
进行陷阱集成。它不会工作,我无法确定是否需要将我的列表转换为其他数据类型。我很高兴实际功能是正确的,但我不确定如何继续?
功能是:
BB_flux = trapz((1./lamz)*flux*T,x=lamz)/trapz((1./lamz)*T,x=lamz)
其中T
和lamz
是列表,而flux
是我通过插值制作的ndarray。
T
和lamz
都是通过读取csv文件,然后将值作为浮点数附加到T
和lamz
来生成的。
答案 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)