从 x,y 数据集计算曲线下面积,python 中甚至没有 x-step

问题描述

我有一个随时间变化的一些 CO2 浓度 (ppm) 值的数据集,我想知道一些时间点之间曲线下的面积。

最直接的解决方案是整合这些时间点之间的函数,但是,我不知道函数,只知道值。

有没有什么办法可以直接在python中整合一段时间内的数据? (不知道函数)例如,计算2小时和3小时之间曲线下的面积,以了解该时间段内的二氧化碳量

enter image description here

解决方法

有多种方法可以对函数进行积分,仅给定固定样本。最简单的可能是使用梯形规则。使用 numpy,您可以执行以下操作:

import numpy as np
result = np.trapz([1,2,3],x=[4,6,8])
# result = 8.0

您可以在此处找到更多示例:https://docs.scipy.org/doc/scipy/reference/generated/scipy.integrate.trapezoid.html#scipy.integrate.trapezoid