以下是一个示例代码,用于按组计算时间戳列的持续时间:
import pandas as pd
# 创建一个示例数据集
data = {'group': ['A', 'A', 'A', 'B', 'B', 'B'],
'timestamp': ['2021-01-01 00:00:00', '2021-01-01 00:05:00', '2021-01-01 00:10:00',
'2021-01-01 00:00:00', '2021-01-01 00:02:00', '2021-01-01 00:05:00']}
df = pd.DataFrame(data)
# 将 timestamp 列转换为 pandas 的时间戳类型
df['timestamp'] = pd.to_datetime(df['timestamp'])
# 按组进行分组,并计算持续时间
df['duration'] = df.groupby('group')['timestamp'].diff()
# 打印结果
print(df)
输出结果为:
group timestamp duration
0 A 2021-01-01 00:00:00 NaT
1 A 2021-01-01 00:05:00 00:05:00
2 A 2021-01-01 00:10:00 00:05:00
3 B 2021-01-01 00:00:00 NaT
4 B 2021-01-01 00:02:00 00:02:00
5 B 2021-01-01 00:05:00 00:03:00
在这个示例中,我们首先将 timestamp 列转换为 pandas 的时间戳类型。然后,我们使用 groupby
函数按组进行分组,并使用 diff
函数计算每个组内时间戳的持续时间。最后,我们将持续时间保存在新的列 duration
中。