下面显示了我拥有的一些数据的结构(格式:列表的列表)
data =
[
[1,2008-12-01],
[1,2008-12-01],
[2,2008-12-01]
... (the lists continue)
]
日期范围为2008年12月1日至2008年12月25日。
第一个字段通过 ID 标识用户,第二个字段(日期字段)显示该用户访问我网站上的页面的时间。
我需要分析这些数据,以便得到以下结果
1 天访问了 25 位用户
2天内访问了100名用户
4天内访问了300名用户
...长达 25 天
我正在使用 python,但不知道从哪里开始!
编辑
很抱歉,我似乎不太清楚自己需要什么,因为有些人给出的答案不是我想要的。
我需要找出全天有多少用户访问过,例如
25 天(或每天)有 10 位用户访问过
然后我希望为从 1 到 25 的每个频率列出相同的内容。因此按照上面我的原始示例
25 位用户仅访问了一天(25 位用户中)
2 天中有 100 位用户访问过(共 25 天)
等等
我不需要知道每天有多少人访问
谢谢
最佳答案
你的结果是一本字典,对吗?
{ userNumber: setOfDays }
如何开始呢?
from collections import defaultdict
visits = defaultdict(set)
for user, date in someList:
visits[user].add(date)
这将为您提供一本字典,其中包含他们访问的一组日期。
counts = defaultdict(int)
for user in visits:
v= len(visits[user])
count[v] += 1
这将为您提供一个包含 # 次访问的字典,以及访问次数相同的用户数量。
这是您正在寻找的东西吗?
关于python - 使用计算日期范围内出现次数的算法来分析 python 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/433669/