Python:类型错误:不支持的操作数类型: 'float' 和 'list'

标签 python numpy integration

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

功能是:

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

哪里Tlamz是列表和 flux是我通过插值制作的 ndarray。

两者Tlamz通过读取 csv 文件然后将值附加到 T 来生成和lamz作为 float 。

最佳答案

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

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

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

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

关于Python:类型错误:不支持的操作数类型: 'float' 和 'list',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26948931/

相关文章:

python - Django REST Framework 中的序列化程序验证顺序

python - 如何删除特定索引的行?

spring - 如何使用 Spring Integration 移入 GCP Storage 后从本地目录中删除文件

python - 在 Apple Silicon/M1 上安装 python firebase-admin 失败,grpico 失败

python - 根据列值将行拆分为多行

python - 查询基于索引和数据列的 Pandas 数据框

python - 存储和读取大量 3d 数据集的节省空间的方法?

java - 将 Actionscript/Flex Air Android 项目与 Java Android 项目相结合

jakarta-ee - WSO2 ESB 中入站端点的含义和用途是什么?

python - 使用 SWIG 从 C 返回列表到 Python