【问题标题】:Pandas DataFrame grouping by TimestampPandas DataFrame 按时间戳分组
【发布时间】:2018-09-04 03:48:45
【问题描述】:

我有一个用例:

数据的格式为:Col1、Col2、Col3 和时间戳。

现在,我只想获取行数与时间戳箱数。

即对于每半小时的存储桶(即使是没有相应行的存储桶),我需要计算有多少行。

时间戳分布在一年的时间里,所以我不能把它分成 24 个桶。

我必须每隔 30 分钟将它们装箱。

【问题讨论】:

    标签: python pandas datetime time-series


    【解决方案1】:

    groupby 通过pd.Grouper

    # optionally, if needed
    # df['Timestamp'] = pd.to_datetime(df['Timestamp'], errors='coerce')  
    df.groupby(pd.Grouper(key='Timestamp', freq='30min')).count()
    

    resample

    df.set_index('Timestamp').resample('30min').count()
    

    【讨论】:

    • @COLDSPEED 非常感谢!有用! errors=coerce 有什么作用?还有一个问题:resample 是否对所有行进行采样?
    • @davidnadal 它将无效的日期时间字符串转换为 NaT(而不是引发解析器错误)。 Resample 将对所有行进行采样。
    猜你喜欢
    • 1970-01-01
    • 2018-04-10
    • 2020-04-20
    • 1970-01-01
    • 2013-10-27
    • 2021-11-08
    • 1970-01-01
    • 2013-01-24
    相关资源
    最近更新 更多