Python Pandas:按小时聚合数据并显示,而不是索引

2024-04-19 06:18:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用pandas按小时汇总一些数据,并显示日期而不是索引。在

我现在掌握的代码如下:

import pandas as pd
import numpy as np

dates = pd.date_range('1/1/2011', periods=20, freq='25min')
data = pd.Series(np.random.randint(100, size=20), index=dates)

result = data.groupby(data.index.hour).sum().reset_index(name='Sum')

print(result)

显示的内容大致如下:

^{pr2}$

问题是,我想显示与该小时相关联的日期,而不是索引。在

我要达到的结果是:

       index                Sum
0      2011-01-01 01:00:00  131
1      2011-01-01 02:00:00  116
2      2011-01-01 03:00:00  180
3      2011-01-01 04:00:00   62
4      2011-01-01 05:00:00   95
5      2011-01-01 06:00:00  107
6      2011-01-01 07:00:00   89
7      2011-01-01 08:00:00  169

有没有什么方法可以让我用熊猫轻松做到这一点?在


Tags: 数据代码importnumpypandasdataindexas
2条回答

您可以使用resample。在

data.resample('H').sum()

输出:

^{pr2}$

选项2

data.groupby(data.index.floor('H')).sum()

输出:

2011-01-01 00:00:00     84
2011-01-01 01:00:00    121
2011-01-01 02:00:00    160
2011-01-01 03:00:00     70
2011-01-01 04:00:00     88
2011-01-01 05:00:00    131
2011-01-01 06:00:00     56
2011-01-01 07:00:00    109
dtype: int32
data.groupby(data.index.strftime('%Y-%m-%d %H:00:00')).sum().reset_index(name='Sum')

相关问题 更多 >