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

3

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

我有一个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个回答

1
使用to_datetime将Unix时间转换为Series,然后使用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}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接