星野x
2022-05-15 07:55
采纳率: 72.7%
浏览 16

Python网络构建中节点的数据统计(txt文件)

img

img


图里的数据,我有一百多万行,第一列,就是序号,按1到一百多万排的,第二列,是景点ID,就是第三列里,景点名称对应的数字代号吧算,第四列,是来到过这个景点的人的代码,一组数字代表一个游客,也有很多重复的,第五列是人去景点地旅游的时间,
现在问题有
1.根据景点ID(也就是第二列)统计景点数量
2.统计各个景点的用户访问量,就是第四列里有多少个人来过同一个景点
3.统计用户数量(就是第四列里出现过对少组不同的数字代码)
4.统计各个用户访问的景点数量
然后我现在可以用Python导出第二列和第四列然后去重,也就是1和3大概可以解决掉,2和4怎么解决

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

2条回答 默认 最新

  • 溪风沐雪 2022-05-15 08:38

    因为数据太多,可能计算机内存会是一个问题,所以就说一下解题思路吧
    假设把数据全部读取进来,存成一个字典数组,那么代码可以这么写:
    其中r1、r3是1和3的解,r2和r4是2和4的解的子集

    lst = [{'key1':'value1','key2':'value2','key3':'value3','key4':'value4','key5':'value5'},{},{},{}]
    r1 = set([l['key2'] for l in lst]) 
    r3 = set([l['key4'] for l in lst])
    for r in r1:
        r2 = set([l['key4'] for l in lst if l['key2']==r])
    for r in r3:
        r4 = set([l['key2'] for l in lst if l['key4']==r])
    
    
    评论
    解决 无用
    打赏 举报 编辑记录

相关推荐 更多相似问题