[英]How to group by and apply aggregate function to datetime for a specified period in panda in Python?
如果将时间戳设置为索引, Series.resample可以为您提供帮助; 然后使用series.resample('30T').sum()
您可以在要保留的系列上使用cumsum 。
然后 select 只有每 30 个位置的索引(np.arange(0,len(df),30)。
然后向后迭代 dataframe 并在第 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')]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.