如果将时间戳设置为index,Series.resample可以为您提供帮助;然后使用series.resample('30T').sum()
您可以在要保留的系列上使用cumsum。
然后仅选择每30个位置的索引(np.arange(0,len(df),30)。
然后向后遍历数据帧,并在第n行减去在n-1行找到的总和,以仅保留最近30分钟的值。迭代不是很有效,但是由于您的数据集是1M行,因此如果每30行占用1行,则它应该很快(33,333次迭代)。
df['cumsum'] = df["Power_kw"].cumsum()
df_30_min = df.iloc[np.arange(0, len(df), 30)].copy()
for i in range(len(df_30_min), 1, -1):
df_30_min.iloc[i-1, df_30_min.columns.get_loc('B')] -= df_30_min.iloc[i-2, df_30_min.columns.get_loc('B')]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句