如何在Python Pandas中按时间间隔对数据进行分组

  • Post category:Python

在Python Pandas中按时间间隔对数据进行分组,主要利用了时间序列中的resample函数。下面我将介绍具体步骤。

  1. 创建时间序列数据

首先,我们需要创建一份时间序列数据,可以按照如下方式创建:

import pandas as pd
import numpy as np

# 创建一个时间序列数据,时间间隔为1天
date_rng = pd.date_range(start='1/1/2021', end='1/10/2021', freq='H')

# 创建一个随机数值序列
values = np.random.randint(0, 100, size=(len(date_rng)))

# 创建一个dataframe,包含时间序列和数值序列
df = pd.DataFrame({'date': date_rng, 'value': values})
  1. 将数据按时间戳转换为索引

接下来,我们需要将时间戳作为数据的索引。这可以通过set_index()函数实现:

df = df.set_index('date')

这样,我们的数据就已经可以按照时间戳进行分组了。

  1. 分组操作

接下来,我们可以利用resample()函数进行分组操作,例如,我们可以将时间间隔设置为一天,然后计算每个分组的平均值。

result = df.resample('D').mean()

这里,’D’代表一天,其它还有’H’代表1小时、’W’代表一周等等。

  1. 结果展示

最终,我们可以利用print()函数展示结果:

print(result)

这样,我们就可以按照时间间隔对数据进行分组了。需要注意的是,如果时间段超出了数据的时间范围,那么相应的分组将不会有任何数据。