使用 python pandas 按日期和小时计算时间戳的频率

Count frequency of timestamp by date and hour using python pandas

我是 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...

我的 TIMESTAMPint64 类型 pandas.core.series.Series

我想通过 "day" 和 "hour" 来计算我的 TIMESTAMP 的频率。

如何使用 Python pandas 实现此目的?

提前致谢:)

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

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

现在,数一数:

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

别忘了 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() 获得正确的时间格式。