gpt4 book ai didi

python - Pandas DataFrame 列数值积分

转载 作者:太空宇宙 更新时间:2023-11-03 15:45:23 25 4
gpt4 key购买 nike

目前我有一个 DataFrame,如下所示:

Device   TimeSec  Current  
1 0.1 0.02
1 0.25 0.05
1 0.32 0.07
1 0.45 0.12
1 1.32 0.34
1 2.37 2.24
2 0.22 0.56
2 0.34 0.79
2 1.87 2.76
2 3.21 3.11
3 0.16 1.87
3 1.12 2.33
3 2.45 3.21
3 3.45 5.11
......

我想对不同的Devices 进行CurrentTimeSec (∫Idt) 的数值积分并将数据收集到一个新的 DataFrame 中,如下所示:

Device   IntegratedCurrent  
1 x
2 y
3 z

问题是时间间隔不均匀,每个设备的数据量也不均匀。

最佳答案

使用一些数值积分函数,例如 scipy.integrate.trapz :

from scipy import integrate

df.groupby(df.Device).apply(lambda g: integrate.trapz(g.Current, x=g.TimeSec))

注意这个函数,使用了trapezoid integration rule , 允许指定 x 值。

关于python - Pandas DataFrame 列数值积分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50239878/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com