【发布时间】:2021-12-22 07:05:33
【问题描述】:
如果我编一些时间序列数据:
import pandas as pd
import numpy as np
from numpy.random import seed
# seed random number generator
seed(1)
time = pd.date_range('6/28/2021', periods=100, freq='1min')
df = pd.DataFrame(np.random.randint(100, size=100), index=time,columns=['data'])
df.plot(figsize=(25,8))
这将绘制:
然后过滤 data 大于 50 时的数据:
df = df.loc[df['data'] > 50]
当数据大于 50 时,如何计算时间增量?仅高于 50 的值。例如,如果我这样做:
# Compute delta time
df['time_delta'] = df.index.to_series().diff().astype('timedelta64[m]')
df.time_delta.sum()
我认为总和不正确,因为这将包括数据低于 50 时的时间增量,完全希望仅检索值高于 50 时的时间增量是有意义的。
【问题讨论】:
标签: python pandas time-series timedelta