2
我有一個系列的值由時間戳索引。這些時間戳是不規則間隔的,我想計算一些類似於過去N秒的滾動平均值(比如說),其中N是常數。不幸的是,在計算滾動數量之前定期進行重新採樣不是一個選項 - 必須在整個數據集上計算滾動數量。熊貓應用可變窗口長度的應用
有沒有一種很好的方式在熊貓做到這一點?
我有一個系列的值由時間戳索引。這些時間戳是不規則間隔的,我想計算一些類似於過去N秒的滾動平均值(比如說),其中N是常數。不幸的是,在計算滾動數量之前定期進行重新採樣不是一個選項 - 必須在整個數據集上計算滾動數量。熊貓應用可變窗口長度的應用
有沒有一種很好的方式在熊貓做到這一點?
您希望將索引重置爲整數索引,並在時間戳列上執行滾動操作。
# generate some data
data = pd.DataFrame(data={'vals':range(5), 'seed_ts': [np.datetime64('2017-04-13T09:00:00') for x in range(5)]})
data['random_offset'] = [np.timedelta64(randint(0, 5), 's') for x in range(5)]
data['cum_time'] = data['random_offset'].cumsum()
data['ts'] = data['seed_ts'] + data['cum_time']
data.index = data['ts']
data = data[['vals']]
重置索引:
data = data.reset_index()
計算滾動意味着過去5秒時:
data['rolling_mean'] = data.rolling('5s', on='ts')['vals'].mean()
的可能重複的[熊貓:滾動通過時間間隔均值](HTTP:/ /stackoverflow.com/questions/15771472/pandas-rolling-mean-by-time-interval) –