【发布时间】:2021-03-10 04:57:31
【问题描述】:
正如我在标题中所写,给定一个具有多个特征和每分钟粒度的 pandas 数据框,我想将过去 1 小时每分钟的平均值添加为新特征。
我该怎么做?
例子:
import pandas as pd
import datetime
import numpy as np
date_today = datetime.datetime.now()
days = pd.date_range(date_today, date_today + datetime.timedelta(10), freq='T')
data=[]
for i in range(3):
np.random.seed(seed=i)
data.append(np.random.randint(1, high=100, size=len(days)))
df = pd.DataFrame({'Datetime': days, 'feature1': data[0],'feature2': data[1],'feature3': data[2]})
df = df.set_index('Datetime')
df.index = df.index.map(lambda x: x.replace(second=0,microsecond=0))
所以现在我想为 df 中的每个特征添加过去 60 分钟的平均值,在无法计算平均值的地方删除数据。
任何提示将不胜感激
【问题讨论】:
标签: python pandas datetime time-series feature-engineering