【问题标题】:Count frequency of timestamp by date and hour using python pandas使用python pandas按日期和小时计算时间戳的频率
【发布时间】:2017-04-19 08:20:54
【问题描述】:

我是使用 python 的新手,我一直在寻找答案,但没有任何帮助。

我有一个表单的 pandas 数据框

数据

输出:

      CALL_TYPE   TIMESTAMP
 0           B    1408039037
 1           B    1408038611
 2           B    1408038568
 3           B    1408039090
 4           B    1408039177
 5           A    1408037146
 6           B    1408038846
 7           A    1408038948...

我的 TIMESTAMPpandas.core.series.Series

类型的 int64

我想按“天”和“小时”计算我的 TIMESTAMP 的频率。

如何使用 Python pandas 实现这一目标?

提前致谢:)

【问题讨论】:

  • 你的时间戳是小时还是秒?
  • DYZ,以秒为单位。谢谢。
  • 那么请看下面我的回答。

标签: python pandas frequency


【解决方案1】:

首先,将它们分成小时和天:

data['DAY'], data['HOUR'] = data["TIMESTAMP"] // (24*3600), data["TIMESTAMP"] % (24*3600)

现在,数一数:

data.groupby(['DAY','HOUR']).count()

【讨论】:

    【解决方案2】:

    别忘了 datetime.fromtimestamp(timestamp) 可以提供您的当地时间,如 time.localtime(timestamp)

    datetime.datetime.utcfromtimestamp(timestamp) 会给你 UTC 时间。

    (例如

    data['HOUR'] = str(datetime.utcfromtimestamp(data["TIMESTAMP"]))[11:13]
    data['DAY'] = str(datetime.utcfromtimestamp(data["TIMESTAMP"]))[:10]
    

    然后使用 groupby() 获取正确的时间格式。

    【讨论】:

      猜你喜欢
      • 2015-11-16
      • 2014-05-02
      • 2018-03-13
      • 2021-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-01
      • 1970-01-01
      相关资源
      最近更新 更多