[英]Index change after using groupby agg
我有一个看起来像这样的数据框:
Code A1 A2 A3 ... B40
Time
2000-01-01 00:00:10.730 NaN 1 NaN NaN
2010-01-01 00:00:12.730 1 2 3 NaN
我想每隔一小时汇总数据并计算一些统计数据。 我使用了以下代码:
grouped = df.groupby(df.index.hour)
# computing various stats
grouped = grouped.agg(['std', 'mean', 'skew'])
grouped
输出是
A1 A2 ... B40
Time mean std skew mean std skew
0 1 2 0 2 1 9
1
.
.
.
1000 1 2 3 1 0 1
问题是我正在丢失我的时间值并获得整数索引而不是时间。 我怎样才能用它的初始格式保留时间。 所以我想要的输出是这样的:
A1 A2 ... B40
Time mean std skew mean std skew
2000-01-01 00:00:00.00 1 2 0 2 1 9
.
.
.
2010-01-01 00:01:00.00 1 2 3 1 0 1
如果有人可以帮助我,我很感激。
谢谢
我认为对于相同的输出使用floor
:
grouped = df.groupby(df.index.floor('h')).agg(['std', 'mean', 'skew'])
另一个带有resample
解决方案,但它创建了完整的时间范围数据:
grouped = df.resample('h').agg(['std', 'mean', 'skew'])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.