前言

双色球是中国福利彩票的一种玩法。

红球一共6组,每组从1-33中抽取一个,六个互相不重复。然后蓝球是从1-16中抽取一个数字,这整个组成的双色球

python从零基础入门到实战,想要源码+数据集的,戳我

今天,我们就用Python来统计一下各号码的中奖概率,并可视化展示。我本人,也会买概率最大的几个号码试试,中奖的话,我就删号,并开始朴实无华有钱人的生活!!!

先是数据的来源,采集双色球往期中奖数据

发送求情

import requests # 数据请求# 发送请求的url地址
url = 'http://www.cwl.gov.cn/cwl_admin/kjxx/findDrawNotice'params = {'name': 'ssq','issueCount': '','issueStart': '','issueEnd': '','dayStart': '2017-10-24','dayEnd': '2021-08-04','pageNo': page,
}
headers = {'Referer': 'http://www.cwl.gov.cn/kjxx/ssq/kjgg/','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36'
}
response = requests.get(url=url, params=params, headers=headers)
# <> 对象 200 请求成功  状态码

解析数据,for遍历

for index in result:dit = {'期号': index['code'],'开奖日期': index['date'],'红球': index['red'],'蓝球': index['blue'],'一等奖中奖注数': index['prizegrades'][0]['typenum'],'一等奖中奖金额': index['prizegrades'][0]['typemoney'],'二等奖中奖注数': index['prizegrades'][1]['typenum'],'二等奖中奖金额': index['prizegrades'][1]['typemoney'],'三等奖中奖注数': index['prizegrades'][2]['typenum'],'三等奖中奖金额': index['prizegrades'][2]['typemoney'],'四等奖中奖注数': index['prizegrades'][3]['typenum'],'四等奖中奖金额': index['prizegrades'][3]['typemoney'],'五等奖中奖注数': index['prizegrades'][4]['typenum'],'五等奖中奖金额': index['prizegrades'][4]['typemoney'],'六等奖中奖注数': index['prizegrades'][5]['typenum'],'六等奖中奖金额': index['prizegrades'][5]['typemoney'],'一等奖中奖地区': index['content'],'奖池金额': index['poolmoney']}

保存数据

import csv # 内置模块f = open('双色球.csv', mode='a', encoding='utf-8', newline='')
csv_writer = csv.DictWriter(f, fieldnames=['期号','开奖日期','红球','蓝球','一等奖中奖注数','一等奖中奖金额','二等奖中奖注数','二等奖中奖金额','三等奖中奖注数','三等奖中奖金额','四等奖中奖注数','四等奖中奖金额','五等奖中奖注数','五等奖中奖金额','六等奖中奖注数','六等奖中奖金额','一等奖中奖地区','奖池金额'])csv_writer.writeheader() # 写入表头
csv_writer.writerow(dit)
print(dit)

运行代码,这样就得到了往期双色球的数据了

现在开始,我们来分析这些数据

先导入需要用到的模块

import pandas as pd
from pyecharts.charts import *
from sklearn.linear_model import LogisticRegression

读取采集到的表格数据

data = pd.read_csv('双色球.csv',encoding='utf-8', engine='python')
data.head()

取数据,指定训练集和测试集

def get_lotto_data(data, lotto, lotto_id):data['lotto_id'] = lotto_idX = []Y = []# 标签and值for s, p in zip(data['lotto_id'], data[lotto]):X.append([float(s)])Y.append(float(p))return X, Y

建立线性回归模型

def linear_model_test(X, Y, predict_value):regr = LogisticRegression()regr.fit(X, Y)predict_outcome = regr.predict(predict_value)predictions = {}predictions['intercept'] = regr.intercept_predictions['coefficient'] = regr.coef_predictions['predicted_value'] = predict_outcomereturn predictions

使用线性回归推测中奖号码

def get_predicted_num(file, lotto, lotto_id):X, Y = get_lotto_data(file, lotto, lotto_id)predict_value = [[33]]result = linear_model_test(X, Y, predict_value)if lotto_id < 7:print(f'中奖第{lotto_id}个红球为:', result['predicted_value'].astype('int64'), '号球')else:print('中奖蓝球为:', result['predicted_value'].astype('int64'), '号球')

预测结果

get_predicted_num(data, 'r1', 1)  # 预测红1
get_predicted_num(data, 'r2', 2)  # 预测红2
get_predicted_num(data, 'r3', 3)  # 预测红3
get_predicted_num(data, 'r4', 4)  # 预测红4
get_predicted_num(data, 'r5', 5)  # 预测红5
get_predicted_num(data, 'r6', 6)  # 预测红6
get_predicted_num(data, '蓝球', 7)  # 预测蓝7

可视化展示

红球中奖概率分布图

x = red_ball_count.index.tolist()
y = red_ball_count.values.tolist()
# 可视化展示
pie = (Pie().add("",[list(z) for z in zip(x, y)])
)
pie.render_notebook()

蓝球中奖概率分布图

x = blue_ball_count.index.tolist()
y = blue_ball_count.values.tolist()
pie = (Pie().add("",[list(z) for z in zip(x, y)])
)
pie.render_notebook()

蓝球中奖次数分布

from pyecharts import options as opts
from pyecharts.charts import PictorialBar
from pyecharts.globals import SymbolTypec = (PictorialBar().add_xaxis(x).add_yaxis("",y,label_opts=opts.LabelOpts(is_show=False),symbol_size=18,symbol_repeat="fixed",symbol_offset=[0, 0],is_symbol_clip=True,).reversal_axis().set_global_opts(title_opts=opts.TitleOpts(title='蓝球中奖号码'),xaxis_opts=opts.AxisOpts(is_show=False),yaxis_opts=opts.AxisOpts(axistick_opts=opts.AxisTickOpts(is_show=False),axisline_opts=opts.AxisLineOpts(linestyle_opts=opts.LineStyleOpts(opacity=0)),),)
)
c.render_notebook()

中奖注数漏斗图

x_data = df['中奖注数'].index.tolist()
y_data = df['中奖注数'].values.tolist()c = (Funnel().add("中奖注数漏斗图",[list(z) for z in zip(x_data, y_data)],label_opts=opts.LabelOpts(position="inside"),).set_global_opts(title_opts=opts.TitleOpts(title="中奖注数漏斗图"))
)
c.render_notebook()

很真实,基数太大,一、二等奖的中奖数都看不见了

Python项目分析:预测双色球福利彩票中奖号码(随便玩玩,不要当真)相关推荐

  1. 用Python预测双色球福利彩票中奖号码(请不要当真)

    前言 双色球是中国福利彩票的一种玩法. 红球一共6组,每组从1-33中抽取一个,六个互相不重复.然后蓝球是从1-16中抽取一个数字,这整个组成的双色球 python从零基础入门到实战 今天,我们就用P ...

  2. Python项目分析:预测双色球福利彩票中奖号码

    前言 大家早好.午好.晚好吖 ❤ ~ 双色球是中国福利彩票的一种玩法. 红球一共6组,每组从1-33中抽取一个,六个互相不重复. 然后蓝球是从1-16中抽取一个数字,这整个组成的双色球 python从 ...

  3. Python预测双色球福利彩票中奖号码(随便玩玩,不要当真)

    前言 铁子们应该都是听说过双色球的吧 双色球是中国福利彩票的一种玩法 红球一共6组,每组从1-33中抽取一个,六个互相不重复.然后蓝球是从1-16中抽取一个数字,这整个组成的双色球 今天,我们就用Py ...

  4. python 使用 selenium 爬取中国福利彩票双色球历史中奖号码

    python 使用 selenium 爬取中国福利彩票双色球历史中奖号码 前期准备 版本:python3 模块:selenium.time.pprint 一开始使用的是 tree 的方式获取数据,但发 ...

  5. 给我10个下期双色球易中奖号码

    很抱歉,我不能提供下期双色球易中奖号码.但是,我可以提供一些有用的技巧,帮助您更容易中奖:1. 选择更少的号码:2. 选择最近几期开出的号码:3. 选择经常出现的号码:4. 尝试组合号码:5. 把握号 ...

  6. 爬取双色球的中奖号码

    好久没更新了,最近工作才慢慢进入正轨,才有时间来慢慢记录自己喜欢和感兴趣的事. 前段时间看到有朋友在研究双色球的事,顺便学习了一下,感觉可以用我们所学来简单的预测一下下一期的双色球事多少,所以我爬取来 ...

  7. 如何利用python准确预测双色球开奖结果

    先把程序粘在这,有时间慢慢写详细过程 github爬取福利彩票python代码: https://github.com/NothinkingGao/luckboy 统计往期福利彩票的python代码示 ...

  8. 放大招啦,用Python来预测双色球

    一.需求简介 之前偶然见到一位网友提出了关于双色球数据的分析需求,感觉颇有趣味,便着手操作了一番.如下为某双色球发布站的页面,可以看到每期会产生红/蓝两种颜色的数字,其中红球为 33 选 6,蓝球为 ...

  9. python爬虫获取双色球历史中奖纪录写入数据库

    from datetime import datetime import pymysql import requests import time import re import urllib.req ...

  10. python中奖号_Python分析彩票记录并预测中奖号码过程详解

    0 引言 上周被一则新闻震惊到了,<2454万元大奖无人认领!福彩史上第二大弃奖在广东中山产生 >,在2019年5月2日开奖的双色球中,广东中山一位彩民博中2454万元,兑奖时间截至201 ...

最新文章

  1. 云边协同 — 协同的类型
  2. 实现远程调用_微服务的那些事(三),微服务的远程调用方式。RPC和HTTP
  3. do还是doing imagine加to_啤酒,还是精酿好
  4. python图像处理opencv_使用Python+OpenCV进行图像处理(二)| 视觉入门
  5. 左斜杠和右斜杠有什么区别_「斜杠云」SEO推广和SEO优化有什么区别?
  6. LeetCode 1806. 还原排列的最少操作步数(模拟)
  7. 深度学习笔记(23) 卷积维度
  8. Matlab调用Python函数,出现OSError: [WinError 126] 找不到指定的模块报错
  9. Excel技能——批量生成excel的工作表名称目录链接
  10. android代码 qq语音,仿QQ语音变声功能实现(二)---移植到android studio 并解决部分问题...
  11. 单片机:数码管显示实验
  12. 【DockerCE】Docker-CE 20.10.14正式版发布
  13. vue导入excel进度条_vue中使用excel导入导出
  14. 华为鸿蒙魔法闪投大小屏幕互动,「老熊科普」魔法闪投,荣耀智慧屏就是你的“超级大手机”...
  15. ImageMagick convert多张照片JPG转成pdf格式,pdfunite合并PDF文件
  16. 如何写简单的linux脚本
  17. AWS云计算技术架构探索系列之一-开篇
  18. 静态成员与静态成员函数
  19. 强烈推荐国内几款优秀的开源电商系统
  20. 基于EasyX的五子棋游戏

热门文章

  1. 英语四级计算机二级成绩,计算机二级成绩查询
  2. html蒙版源代码,jquery蒙版控件实现代码_jquery
  3. 分布式事务框架TX-LCN
  4. Unity3D中使用Projector生成阴影
  5. python无限循环怎么结束_在无限循环中停止python脚本
  6. Python描述 LeetCode 781. 森林中的兔子
  7. 国内首款PCB资料分析软件,华秋DFM使用介绍
  8. python入门到精通 _6文件读写
  9. Moonstarter IDO 一步一步的操作
  10. PMP49个过程组知识领域ITTO汇总 -- 项目采购管理