使用pandas库中的groupby方法和max方法,结合条件筛选语句完成操作。
示例代码如下:
import pandas as pd
# 创建示例数据
data = {'group': ['A', 'A', 'B', 'B'],
'value': [1, 2, 3, 4],
'time': ['2021-01-01 10:00:00', '2021-01-01 11:00:00', '2021-01-02 10:00:00', '2021-01-02 11:00:00']}
df = pd.DataFrame(data)
# 将时间列转换为时间类型
df['time'] = pd.to_datetime(df['time'])
# 根据分组和时间条件,获取每个分组中时间最晚的value值
result = df.groupby('group').apply(lambda x: x.loc[x['time'] == max(x['time']), 'value'].values[0])
print(result)
输出结果:
group
A 2
B 4
dtype: int64
结果表明:在分组A中,时间最晚的value是2,在分组B中,时间最晚的value是4。
上一篇:按时间属性将窗口推送到流中
下一篇:按时间限制删除行