Python:TypeError:不支持/:“float”和“list”的操作数类型

2024-09-24 06:21:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试一个trapz集成,一个使用2个列表和1numpy.ndarray的函数。它不起作用,我也不知道是否需要将列表转换为其他数据类型。我很高兴实际的功能是正确的,但我不知道如何进行?

功能是:

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

其中Tlamz是列表,而flux是我通过插值生成的一个数组。

Tlamz都是通过读取csv文件,然后将值作为浮点追加到Tlamz来实现的。


Tags: 文件csv函数功能列表数组浮点插值
1条回答
网友
1楼 · 发布于 2024-09-24 06:21:09

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

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

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

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

相关问题 更多 >