Python – 如何按分钟对 Pandas DataFrame 进行分组?
在 Pandas 中,许多数据集都需要根据时间分组,然后对每个分组进行操作。在某些情况下,这些时间间隔可能非常小(例如每分钟),这就需要对 DataFrame 按分钟进行分组。本文将详细介绍如何使用 Pandas 来实现此目的。
准备工作
在开始之前,我们先导入 pandas 库并创建一个样本数据集:
import pandas as pd
# 创建样本数据集
df = pd.DataFrame({
'Time': pd.date_range(start='2021-01-01 00:00:00', periods=1440, freq='1T'),
'Value': range(1440)
})
这里我们创建了一个名为 df 的 DataFrame,其中包含每分钟的时间戳和一个与时间戳相关联的值。
按分钟分组
现在,我们将使用 resample 函数按分钟分组 df:
# 将时间戳设置为 DataFrame 的索引
df = df.set_index('Time')
# 按分钟分组
df_grouped = df.resample('1T').sum()
在这里,我们首先将时间戳列 Time 设置为 DataFrame 的索引。然后,我们使用 resample 函数按一分钟时间间隔 '1T' 进行分组,并对每个分组的值求和。
检查分组结果
现在,我们可以使用 head 函数查看分组结果:
print(df_grouped.head())
输出:
Value
Time
2021-01-01 00:00:00 0
2021-01-01 00:01:00 1
2021-01-01 00:02:00 2
2021-01-01 00:03:00 3
2021-01-01 00:04:00 4
如此,我们就可以从 DataFrame 中获得按分钟分组的信息并进行计算。
结论
在本文中,我们介绍了如何使用 Pandas 按分钟分组 DataFrame。我们首先创建了一个样本数据集,然后使用 resample 函数按分钟进行分组,并对每个分组的值进行求和。通过这些步骤,我们可以轻松地从一个包含时间戳的 DataFrame 中提取出一段时间内的信息,然后进行相应的操作。
极客笔记