zoukankan      html  css  js  c++  java
  • Python数据分析之双色球高频数据统计

    欢迎关注【无量测试之道】公众号,回复【领取资源】,
    Python编程学习资源干货、
    Python+Appium框架APP的UI自动化、
    Python+Selenium框架Web的UI自动化、
    Python+Unittest框架API自动化、

    资源和代码 免费送啦~
    文章下方有公众号二维码,可直接微信扫一扫关注即可。

    Step1:基础数据准备(通过爬虫获取到),以下是从第一期03年双色球开奖号到今天的所有数据整理,截止目前一共2549期,balls.txt 文件内容如下 :

     备注:想要现成数据的可以给我发邮件哟~

     

    Step2: 分析数据特征和数据处理方式选择,直接上代码如下:

    #导入Counter
    from collections import Counter

    def readfile():
    red_lists=[]
    blue_lists=[]
    #打开文件并获取文件句柄
    with open("./balls.txt", "r",encoding='utf-8') as fp:
    #开始读取文件并返回一个list
        list1=fp.readlines() 
        #遍历整个文件内容
    for i in range(len(list1)):
    #替换掉 的字符再按空格分隔
            list2=str(list1[i]).replace(" ","").split(" ")
    for j in range(len(list2)):
    if j==6:
    #蓝球放入到blue_lists 列表中
                   blue_lists.append(list2[j])
                else:
                 #红球放入到red_lists 列表中
                   red_lists.append(list2[j]) 
            #Counter可以快速便捷的对某些对象做一些统计操作,这里是对列表里面的数据进行出现次数统计,返回一个tuple
    red_count=Counter(red_lists)
    blue_count=Counter(blue_lists)
    #most_common可以用来统计列表或字符串中最常出现的元素并做排序,并返回一个list
    k = red_count.most_common(len(red_count))
    #输出出现频率最高的六个红球
    print("the red ball:",k[:6])
    l = blue_count.most_common(len(blue_count))
    #输出出现频率最高的六个蓝球
    print("the blue ball:",l[:6])

    if __name__=="__main__":
    readfile()
     

    Step3:执行结果如下:

     

     

    Step4:执行结果验证:

     从官网获取的数据进行对比,一致性校验通过。

    总结:python在数据处理方面有着非常强大的优势,其实早先用过Panda库也可以非常出色的完成双色球的数据统计,大家有兴趣的可以实验一下。

    备注:我的个人公众号已正式开通,致力于测试技术的分享,包含:大数据测试、功能测试,测试开发,API接口自动化、测试运维、UI自动化测试等,微信搜索公众号:“无量测试之道”,或扫描下方二维码:

     添加关注,一起共同成长吧。

  • 相关阅读:
    Elasticsearch 缓存总结
    ElasticSearch-集群
    HTTP协议详解
    HTTPS总结
    ElasticSearch--Document
    正排索引和倒排索引
    线上OOM排查步骤总结
    线程池-四种拒绝策略总结
    netty篇-练手
    netty篇-UDP广播
  • 原文地址:https://www.cnblogs.com/Wu13241454771/p/12956071.html
Copyright © 2011-2022 走看看