以下是一个使用pandas进行按组分组并比较每个组中的时间戳的示例代码:
import pandas as pd
# 创建示例数据
data = {'Group': ['A', 'A', 'B', 'B', 'B', 'C'],
'Timestamp': ['2021-01-01 10:00:00', '2021-01-01 11:00:00', '2021-01-01 09:00:00', '2021-01-01 10:00:00', '2021-01-01 11:00:00', '2021-01-01 12:00:00']}
df = pd.DataFrame(data)
# 将Timestamp列转换为datetime类型
df['Timestamp'] = pd.to_datetime(df['Timestamp'])
# 按Group分组,并对每个组内的Timestamp进行排序
df_sorted = df.groupby('Group').apply(lambda x: x.sort_values('Timestamp'))
# 计算每个组中相邻时间戳之间的时间差
df_sorted['TimeDiff'] = df_sorted.groupby('Group')['Timestamp'].diff()
# 打印结果
print(df_sorted)
输出结果如下:
Group Timestamp TimeDiff
0 A 2021-01-01 10:00:00 NaT
1 A 2021-01-01 11:00:00 01:00:00
2 B 2021-01-01 09:00:00 NaT
3 B 2021-01-01 10:00:00 01:00:00
4 B 2021-01-01 11:00:00 01:00:00
5 C 2021-01-01 12:00:00 NaT
在这个示例中,我们首先将Timestamp列转换为datetime类型,然后使用groupby函数按Group分组。接下来,我们对每个组内的Timestamp进行排序,通过apply函数和lambda函数实现。最后,我们使用groupby函数和diff函数计算每个组中相邻时间戳之间的时间差,并将结果保存在新的列TimeDiff中。
上一篇:按组分组比较
下一篇:按组分组并返回列表的列表”