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)):
#替换掉\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库也可以非常出色的完成双色球的数据统计,大家有兴趣的可以实验一下。

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

 

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

posted on 2020-05-25 11:51  Wu_Candy  阅读(537)  评论(0编辑  收藏  举报