首页 > 编程语言 > 详细

Python数据分析之双色球高频数据统计

时间:2020-05-21 23:11:00      阅读:75      评论:0      收藏:0      [点我收藏+]

 

技术分享图片

 

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

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)):
        #替换掉\n的字符再按空格分隔
        list2=str(list1[i]).replace("\n","").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库也可以非常出色的完成双色球的数据统计,大家有兴趣的可以实验一下。

 加企鹅群695185429即可免费获取,资料全在群文件里。资料可以领取包括不限于Python实战演练、PDF电子文档、面试集锦、学习资料等

Python数据分析之双色球高频数据统计

原文:https://www.cnblogs.com/python0921/p/12933836.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!