这里是一个示例代码,用于按照日期分组过滤,计算每个类别的数量和持续时间,并识别倒数第二个:
import pandas as pd
# 创建示例数据
data = {'日期': ['2021-01-01', '2021-01-01', '2021-01-02', '2021-01-02', '2021-01-03'],
'类别': ['A', 'B', 'A', 'B', 'A'],
'持续时间': [10, 15, 20, 25, 30]}
df = pd.DataFrame(data)
# 将日期列转换为日期类型
df['日期'] = pd.to_datetime(df['日期'])
# 按照日期分组,计算每个类别的数量和持续时间
grouped = df.groupby('日期').agg({'类别': 'count', '持续时间': 'sum'})
# 识别倒数第二个
last_second = grouped.iloc[-2]
print(grouped)
print('倒数第二个:', last_second)
输出结果:
类别 持续时间
日期
2021-01-01 2 25
2021-01-02 2 45
2021-01-03 1 30
倒数第二个: 类别 2
持续时间 45
Name: 2021-01-02 00:00:00, dtype: int64
该代码首先将日期列转换为日期类型,然后使用groupby
方法按照日期分组,并使用agg
方法计算每个类别的数量和持续时间。最后,通过iloc
方法获取倒数第二个结果。