如何解决Python groupby时间戳以及其他列的均值和总和
我有以下df:
DATETIME OPEN HIGH Count
02/03/1997 09:04:00 3046.00 3048.50 20
02/03/1997 09:05:00 3047.00 3048.00 13
02/03/1997 09:06:00 3047.50 3048.00 6
02/03/1997 09:07:00 3047.50 3047.50 12
02/03/1997 09:08:00 3048.00 3048.00 136
02/03/1997 09:09:00 3048.00 3048.00 174
02/03/1997 09:10:00 3046.50 3046.50 134
02/03/1997 09:11:00 3045.50 3046.00 43
02/03/1997 09:12:00 3045.00 3045.50 214
02/03/1997 09:13:00 3045.50 3045.50 8
02/03/1997 09:14:00 3045.50 3046.00 152
我想用group
5 Minute interval
的数据帧以及sum
的{{1}}和Count
的{{1}}的数据帧。
我尝试使用以下代码进行1分钟的植入:
首先,我使用以下函数将DATETIME列转换为Day,hour,minute:
mean
,然后使用下面的代码汇总每1分钟时间间隔的日期:
OPEN and HIGH
上面的脚本对于def date_convertion(df):
df['date_time_from_epoch'] = pd.to_datetime(df['DATETIME'],format='%d-%b-%y %H.%M.%S.%f %p',errors='coerce')
df['date'] = df['date_time_from_epoch'].dt.date
df['day'] = df['date_time_from_epoch'].dt.day
df['month'] = df['date_time_from_epoch'].dt.month
df['hours']= df["date_time_from_epoch"].dt.hour
df['minute']= df["date_time_from_epoch"].dt.minute
return df
数据非常有效,但是我想基于d = {'Count':['sum'],'OPEN': ['mean'],'HIGH': ['mean']}
res = merged_data.groupby(['date','day','month','hours','minute']).agg(d).reset_index()
res.columns = ['_'.join(col) for col in res.columns.values]
和1 minute aggregate
进行聚合
解决方法
nn.Module
或Grouper
:
class RMSELoss(nn.Module):
def __init__(self,eps=1e-9):
super().__init__()
self.mse = nn.MSELoss()
self.eps = eps
def forward(self,yhat,y):
loss = torch.sqrt(self.mse(yhat,y) + self.eps)
return loss
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。