Python 特定范围内分组数据的Trapz集成
我有一个数据帧列表,如下所示:Python 特定范围内分组数据的Trapz集成,python,pandas,scipy,Python,Pandas,Scipy,我有一个数据帧列表,如下所示: Device TimeSec Current 1 0.1 0.02 1 0.25 0.05 1 0.32 0.07 1 0.45 0.01 1 0.67 0.05 1 1.01 0.08 1 1.12 0.11 1 1.32 0.15 2
Device TimeSec Current
1 0.1 0.02
1 0.25 0.05
1 0.32 0.07
1 0.45 0.01
1 0.67 0.05
1 1.01 0.08
1 1.12 0.11
1 1.32 0.15
2 0.11 0.04
2 0.22 0.06
2 0.28 0.07
2 0.35 0.02
2 0.41 0.05
2 0.51 0.08
2 0.61 0.12
....
DeviceGroup = df.groupby('Device')
Result = DeviceGroup.apply(lambda x: integrate.trapz(x.Current, x=x.TimeSec))
这一次,我需要将第1次TimeSec数据集成到“当前”最小数据。你能告诉我怎么做吗?试试这个方法,将数据帧过滤到最小值
from scipy import integrate
df[df.groupby('Device')['Current'].transform(lambda x: x.diff().shift().bfill().gt(0).cumprod().astype(bool))]\
.groupby('Device').apply(lambda g: integrate.trapz(g['Current'], x=g.TimeSec))
您的预期输出是什么样子的?我希望有一系列的集成数据。系列的索引是设备,列是积分值。你能告诉我如何定义“当前”最小值吗?它是每TimeSec还是每设备组?它是每设备组的“当前”最小值。