我有什么?
我的dfpd.DataFrame
有'power'列和'timestamp'列。
我还有一个功率值,称为“x\u功率”
我想要什么?
我试图找出在'x_power'上方和下方产生的能量(例如x_power=900), 为此,我想做一个积分:
y轴功率
x轴-时间戳
粉红色区域-超过x_功率产生的能量
绿色区域-低于x_功率产生的能量
from scipy.interpolate import InterpolatedUnivariateSpline
x = df['timestamp'].to_numpy()
y = df['power'].to_numpy()
max = np.max(x)
min = np.min(x)
f = InterpolatedUnivariateSpline(x, y, k=1) # k=1 gives linear interpolation
f.integral(min , max)
输出是图形下方的区域
有一种简单的方法可以在没有多重积分的情况下计算上下“x_幂”
要在x\u power上集成绘图区域,您需要 “向下移动”您的y值,使“新建0” 处于x_功率水平
然后应该将负值剪裁为零
但是因为您只选择了整个绘图的点, 第一步应该是生成插值的版本 您的电力生产线,例如,步骤1,然后 执行上述2个步骤
执行此操作的代码是:
要查看此行,您可以运行:
要集成此函数,请在上述源数据上运行代码:
相关问题 更多 >
编程相关推荐