我知道这个问题看起来有点荒唐,但是我整天都在寻找解决方案,却一无所获。
我有一个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())
答案 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}