以下是一个Python代码示例,演示如何按列分组计算日期之间的持续时间:
import pandas as pd
# 创建示例数据
data = {
'Group': ['A', 'A', 'B', 'B', 'B'],
'Date': ['2022-01-01', '2022-01-02', '2022-01-01', '2022-01-03', '2022-01-04']
}
df = pd.DataFrame(data)
# 将日期列转换为日期类型
df['Date'] = pd.to_datetime(df['Date'])
# 按照Group列进行分组
grouped = df.groupby('Group')
# 计算每个分组内的日期持续时间
df['Duration'] = grouped['Date'].diff().dt.days
print(df)
输出结果为:
Group Date Duration
0 A 2022-01-01 NaN
1 A 2022-01-02 1.0
2 B 2022-01-01 NaN
3 B 2022-01-03 2.0
4 B 2022-01-04 1.0
在这个示例中,我们首先将日期列转换为日期类型,然后使用groupby
函数按照Group
列进行分组。接下来,我们使用diff
函数计算每个分组内的日期持续时间,并将结果保存在新的Duration
列中。注意,第一个日期的持续时间为NaN,因为它没有前一个日期与之比较。
上一篇:按列分组检索最后2条记录
下一篇:按列分组计算天数