使用Pandas,如何按天对JSON数据进行分组并计算发生次数?

时间:2019-04-03 11:18:47

标签: python pandas

我知道这个问题看起来有点荒唐,但是我整天都在寻找解决方案,却一无所获。

我有一个JSON对象

times = [1554278809, 1554276258, 1554274173, 1554270457] /* four occurrences in April 3 */

我需要按天对它进行分组并计算发生的次数,并得到如下结果:

result = [{'2019-04-01': 0, '2019-04-02': 0, '2019-04-03': 4}]

到目前为止,我已经尝试过此方法(按预期无法使用):

times = [str(datetime.fromtimestamp(x)) for x in times]
df = pd.DataFrame(times)
print(df.groupby(df.index.date).count())

1 个答案:

答案 0 :(得分:1)

使用to_datetime创建Series转换unix时间,然后通过Series.dt.strftime将其转换为字符串:

times = [1554278809, 1554276258, 1554274173, 1554270457] 
s = pd.Series(pd.to_datetime(times, unit='s'))
print (s)
0   2019-04-03 08:06:49
1   2019-04-03 07:24:18
2   2019-04-03 06:49:33
3   2019-04-03 05:47:37
dtype: datetime64[ns]

print(s.groupby(s.dt.strftime('%Y-%m-%d')).count().to_dict())
{'2019-04-03': 4}