Pandas 将每小时数据分组为带有日期索引的每日总和

pythonPandas

1个回答

写回答

18947873000

2025-06-28 07:30

+ 关注

Pandas
Pandas

Pandas将每小时数据分组为带有日期索引的每日总和

在数据分析和处理的过程中,经常需要对时间序列数据进行分组和聚合。而Pandas是Python中非常流行的数据分析库,它提供了强大的工具来处理时间序列数据。本文将介绍如何使用Pandas将每小时的数据分组为带有日期索引的每日总和。

数据准备

首先,我们需要准备一些示例数据。假设我们有一个包含日期和每小时访问量的数据集。以下是一个简单的示例数据集:

import Pandas as pd

# 创建示例数据

data = {'date': ['2022-01-01 00:00:00', '2022-01-01 01:00:00', '2022-01-01 02:00:00', '2022-01-02 00:00:00', '2022-01-02 01:00:00'],

'visits': [100, 200, 150, 300, 250]}

df = pd.DataFrame(data)

df['date'] = pd.to_datetime(df['date'])

df.set_index('date', inplace=True)

以上代码创建了一个包含日期和访问量的DataFrame,并将日期列设置为索引。

分组数据

接下来,我们可以使用Pandas的resample()函数将数据按天进行分组。resample()函数可以根据指定的频率对时间序列数据进行重采样。在这里,我们将使用'D'作为频率,表示按天进行重采样。

# 按天分组并求和

dAIly_data = df.resample('D').sum()

以上代码将数据按天分组,并计算每日的总和。

结果展示

最后,我们可以打印出每日的数据总和。以下是完整的代码:

import Pandas as pd

# 创建示例数据

data = {'date': ['2022-01-01 00:00:00', '2022-01-01 01:00:00', '2022-01-01 02:00:00', '2022-01-02 00:00:00', '2022-01-02 01:00:00'],

'visits': [100, 200, 150, 300, 250]}

df = pd.DataFrame(data)

df['date'] = pd.to_datetime(df['date'])

df.set_index('date', inplace=True)

# 按天分组并求和

dAIly_data = df.resample('D').sum()

# 打印每日数据总和

print(dAIly_data)

运行以上代码,将会输出每日的数据总和:

visits

date

2022-01-01 450

2022-01-02 550

以上结果显示了每日的数据总和。

本文介绍了如何使用Pandas将每小时的数据分组为带有日期索引的每日总和。通过使用Pandas的resample()函数,我们可以方便地对时间序列数据进行分组和聚合操作。在实际的数据分析和处理中,这种功能非常有用,能够帮助我们更好地理解和分析时间序列数据。

举报有用(4)分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号