爬数据

据说有个妹妹通过抓纸团决定买彩票号,这个看起来既玄幻又可爱。
小姐姐我坐不住了,索性统计了一下历史中奖号码分布情况。
借助python抓数据,尝试了几组代码,给出一份能运行的,爬取双色球出号情况。代码如下:
源码来源:Python爬取彩票双色球并存到把数据excel表格里

import requests
import re
import xlwt
import timedef get_all_page():global all_pageurl = "http://kaijiang.zhcw.com/zhcw/html/ssq/list_1.html"reponse = requests.get(url=url)reponse.encoding='utf-8'html = reponse.textall_page = int(re.findall(r"class=\"pg\".*?<strong>(.*?)</strong>",html)[0])return all_pagedef get_num():k = -1f = xlwt.Workbook(encoding='utf-8')sheet01 = f.add_sheet(u'sheel1', cell_overwrite_ok=True)for page_num in range(1,50):url = "http://kaijiang.zhcw.com/zhcw/html/ssq/list_"+str(page_num)+".html"reponse = requests.get(url=url)time.sleep(5)reponse.encoding = 'utf-8'html = reponse.textrule = r"<tr>.*?<td align=\"center\">(.*?)</td>.*?<td align=\"center\">(.*?)</td>.*?<td align=\"center\" style=\"padding-left:10px;\">.*?<em class=\"rr\">(.*?)</em>.*?<em class=\"rr\">(.*?)</em>.*?<em class=\"rr\">(.*?)</em>.*?<em class=\"rr\">(.*?)</em>.*?<em class=\"rr\">(.*?)</em>.*?<em class=\"rr\">(.*?)</em>.*?<em>(.*?)</em></td>"num = re.findall(rule, html, re.S | re.M)# f = xlwt.Workbook(encoding='utf-8')# sheet01 = f.add_sheet(u'sheel1', cell_overwrite_ok=True)sheet01.write(0, 0, "日期")sheet01.write(0, 1, "期数")sheet01.write(0, 2, "第一个红球")sheet01.write(0, 3, "第二个红球")sheet01.write(0, 4, "第三个红球")sheet01.write(0, 5, "第四个红球")sheet01.write(0, 6, "第五个红球")sheet01.write(0, 7, "第六个红球")sheet01.write(0, 8, "蓝球")print("正在写入第%s页" % (page_num))for i in range(0,len(num)):#   for i in range(0, len(num)):k += 1sheet01.write(k + 1, 0, num[i][0])sheet01.write(k + 1, 1, num[i][1])sheet01.write(k + 1, 2, num[i][2])sheet01.write(k + 1, 3, num[i][3])sheet01.write(k + 1, 4, num[i][4])sheet01.write(k + 1, 5, num[i][5])sheet01.write(k + 1, 6, num[i][6])sheet01.write(k + 1, 7, num[i][7])sheet01.write(k + 1, 8, num[i][8])f.save("双色球统计结果.xls")if __name__ == '__main__':get_all_page()get_num()

excel数据转CSV

爬取到的数据如上所示,数据为2014.6.11到2018.9.23。
由于在matlab里边读取纯数据,因此只将后七列含有号码的数据保存,并且去掉表头。
我在读取excel时候,有数据而报空,因此,将其转为CSV格式。

这个CSV格式实在好用,之前制作数据集时候就感谢包罗万象的他:不仅保存数据,还能保存字符等等,这让ID和VALUE完美的结合在一起,跟MAP一样。

Matlab分析

表格数据纵列为每支出现的历史号码,我们试图观察每支具有怎样的规律。

猜想如下:设置人员会选取一些有纪念意义的数字(比如结婚纪念日呀,生日呀,还有大环境下有意义的数据,是不是很有成就感),并且按照高斯分布等某种模式发放号码:即这个理想值的发放频率比较大,而欧式空间离他越远,出现频率越低。

为了验证猜想,我用matlab分析了下,统计这几支出现的频率。
Matlab有一个专门统计频率的函数:tabulate,自行查找。
代码如下:

A=xlsread('D:\\Cat_Dog_CNN\\mydata3.csv');%你所保存的路径subplot(2,4,1)
B = tabulate(A(1:112,1));
bar(B(:,1),B(:,3))
subplot(2,4,2)
B = tabulate(A(1:112,2));
bar(B(:,1),B(:,3))
subplot(2,4,3)
B = tabulate(A(1:112,3));
bar(B(:,1),B(:,3))
subplot(2,4,4)
B = tabulate(A(1:112,4));
bar(B(:,1),B(:,3))
subplot(2,4,5)
B = tabulate(A(1:112,5));
bar(B(:,1),B(:,3))
subplot(2,4,6)
B = tabulate(A(1:112,6));
bar(B(:,1),B(:,3))
subplot(2,4,7)
B = tabulate(A(1:112,7));
bar(B(:,1),B(:,3))

Matlab这块代码比较冗余,不过就几张图,也就一张一张画了。

千呼万唤始出来,犹抱琵琶半遮面。

仔细观察一下,前六支基本遵循高斯分布,可以参考[数字图像处理]常见噪声的分类与Matlab实现对比噪声。
有几支不完整的高斯分布,你可以说他是高斯分布的局部,也可以想象成瑞利分布、伽马分布等。

反思

彩票这件事,出号是人为设置的,所以谈不上什么自然规律。人为选取一个模型,然后出号。
下图是双色球从出现以来的统计结果,是不是大数据下,规律更明显了。
不过我们更感兴趣的是股票,里边的影响因素很多:除了close、open、max、min等数据,还有政治因素等等,我了解了一些K线的概念,也分析了现有的十几组模型,暂时感觉特别特别有用的数据:

1. 原始数据:close值,即当日收盘价格;
2. 差分值:N天作为小单位,统计均值差;
3. 均方差:分析数据分布离不开均方值,它能评估并预测数据动荡的方向和动荡幅度。

后边衍生的模型暂且不谈,如果在这边找到规律,那一定大喜大悲了。
在跑去人为干扰外,的确有很多可以挖掘的规律。
等出结果,我们再聊。

python+matlab:统计双色球出号分布相关推荐

  1. 统计数据尾号分布(Python)

    根据中签尾号,分析深圳小汽车车牌摇号数据. d={} def analyze_line(line):if not re.match(r'[0-9]+\s+[0-9]+\s+\S', line): # ...

  2. 双色球python最简单的写法,python编写一个双色球

    python 双色球 前6位都是1-33(不重复) 第七位是1-16 这个编程怎么写?我写的怎么执 那是当然的.6+1的话,一共127.6亿个排列. 每个都至少要执行最内层的for.if.+=三行命令 ...

  3. Python实现彩票双色球、大乐透随机预测出号

    彩票要是能通过预测都能拿奖,那也是需要攒多少人品才行呀 老老实实做好事,多积德行善,做公益 近期出差的时候,闲来没事,下班路过彩站每天都顺便买一张彩票. 同时,就引发了对所学专业的应激反应,想了一下能 ...

  4. matlab常见分布的分布函数的命令,Matlab统计工具箱中各类概率分布函数使用方法介绍...

    本帖最后由 winner245 于 2013-4-24 22:47 编辑 1.      Matlab Statistics Toolbox 中概率分布函数介绍 Matlab Statistics T ...

  5. 【微信辅助】疫情当前,python帮你找出朋友圈的武汉朋友给予关怀

    我是程序员小小叶,为大家带来原创精彩技术内容. 疫情无论是对于个体还是企业都是无法承受之重.希望疫情早日过去,这是作为一个普通人一个的小小心愿. 我们身边的亲朋好友也或多或少受到了疫情的影响,让我们来 ...

  6. Matlab计算状态转移频数,matlab统计频数

    统计数据的描述性分析一.实验目的 熟悉在 matlab 中实现数据的统计描述方法, 掌握基本统计命令: 样本均值.样本中位数.样本标准差.样本方差.概率密度函数 pdf....... 解 1.数据输入 ...

  7. python分别统计男女人数_python实现爬虫统计学校BBS男女比例(一),python男女比例...

    python实现爬虫统计学校BBS男女比例(一),python男女比例 一.项目需求 前言:BBS上每个id对应一个用户,他们注册时候会填写性别(男.女.保密三选一). 经过检查,BBS注册用户的id ...

  8. 双色球双色球杀号公式,双色球杀号公式汇总

    双色球定号杀号方法大全_27个杀红公式 双色球定号杀号方法大全27个杀红公式一,当期开奖号码大小顺序第一位与第六位的差,计算的结果在下一期有可能不出.1.当期开奖号码大小顺序第二位与第三位的差,计算的 ...

  9. python 描述性统计_Python中的基本统计:描述性统计

    python 描述性统计 The field of statistics is often misunderstood, but it plays an essential role in our e ...

最新文章

  1. java 解释型和编译型
  2. 机器学习入门(14)— 神经网络学习整体流程、误差反向传播代码实现、误差反向传播梯度确认、误差反向传播使用示例
  3. 送书 | 2020年新一天,用这本书开启你的NLP学习之路!
  4. C++实现大数的减法
  5. ansible(基础)
  6. boost::format模块异常处理的测试程序
  7. 由歌词引发的模式思考之下篇(模拟Spring的BeanFactory)
  8. jquery 操作css 选择器
  9. 计算机上的键有什么功能吗,电脑功能键都有什么用,电脑上功能键的用法_系统圣地...
  10. 那些年删过的库,跑过的路,你从中找到解决方法了吗?
  11. cannot spawn XXX\bin\TortoiseGitPlink.exe: No such file or directory
  12. 用python调用r包
  13. 4.FX Blue 本地跟单软件EA参数说明
  14. java applet实例_java applet 一个简单的例子(applet+html)
  15. 外贸建站教程,WordPress外贸自建站流程,会打字即可学会
  16. 会计学原理与财务报表分析
  17. Android——实时显示系统时间
  18. 看看吧,在线教育直播的这四个优势
  19. 开机动画desc.txt描述文件的分析
  20. LeetCode剑指offer题目分类汇总及题解

热门文章

  1. GaN是否具有可靠性?或者说我们能否如此提问?
  2. 电力平台双机热备方案
  3. 使用JMH进行性能测试
  4. 概率论基础 —— 9. 协方差
  5. java句子单词颠倒_Java程序可反转句子中的每个单词
  6. unity接微信登录,eclipse打jar包,快速高效
  7. mysql修改主服务器地址,怎么修改mysql服务器地址
  8. 保姆级安装,在FusionCompute上搭建华为V6存储仿真器,并通过iscsi映射给Windows主机
  9. Android不同Module之间Activity跳转(以腾讯IMDemo为例)
  10. vsCode JS代码格式化插件安装