You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R中如何统计dataframe内各名称对应time的最值、出现次数并按最小time排序

解决方案

直接使用pandas的分组聚合功能即可一次性得到所有需要的指标,无需单独计算唯一名称和对应次数:

前置操作

先确保time列是 datetime 类型,避免字符串比较导致最值计算错误:

import pandas as pd
df['time'] = pd.to_datetime(df['time'])

核心处理代码

result_df = df.groupby('names', as_index=False).agg(
    # 统计每个名称的出现次数
    count=('names', 'count'),
    # 统计每个名称的最小时间
    min_time=('time', 'min'),
    # 统计每个名称的最大时间
    max_time=('time', 'max')
# 按最小时间升序排序,ignore_index会重置排序后的行索引
).sort_values(by='min_time', ignore_index=True)

# 如果需要列名改为min.time、max.time,可执行重命名
result_df.rename(columns={'min_time': 'min.time', 'max_time': 'max.time'}, inplace=True)

结果说明

输出的result_df自动包含唯一names列,以及你需要的出现次数、最小时间、最大时间三个新列,且已经按最小时间从小到大排序。

内容的提问来源于stack exchange,提问作者Phenomniverse

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 09:09:03