双色球开奖结果的大数据分析与统计
zhezhongyun 2025-06-23 23:36 4 浏览
正好手上有2003年-2024年所有双色球中奖的记录,用这20几年的数据分析,然后来预测,应该有一定的参考性。
声明:本文主要目的为编程学习,数据仅用来作为统计之用,且数据来源公开合法。本文无任何导向。个人看法仅供参考。
1,准备数据。
首先,我们需要采集公开的双色球中奖记录,我这里采集了2003-2025年所有的双色球记录,记录如下:
接下来,需要根据这些数据预处理。
因为数据比较完善,所以基本上都是正确的。
2,建立预测模型
将所有的数据分成训练数据和测试数据。
代码如下:
import pandas as pd
import matplotlib.pyplot as plt
from IPython.core.display import HTML
# 设置 Matplotlib 使用的中文字体
plt.rcParams['font.sans-serif'] = ['SimHei'] # 使用黑体
plt.rcParams['axes.unicode_minus'] = False # 支持负号显示
# 读取数据
df = pd.read_csv('lottery_results_2003_2024.csv', encoding='gbk')
def collect_next_numbers(red_balls, blue_drum):
next_red_numbers = []
next_blue_numbers = []
# 遍历数据,查找符合条件的下一期号码
for i in range(len(df) - 1):
current_reds = set(df.iloc[i][2:8]) # 当前红球
current_blue = df.iloc[i, 8] # 当前蓝球
# 如果当前红球与输入红球有交集且当前蓝球符合输入值
if current_reds.intersection(red_balls) and current_blue == blue_drum:
next_reds = df.iloc[i + 1][2:8] # 下一期红球
next_blue = df.iloc[i + 1, 8] # 下一期蓝球
next_red_numbers.extend(next_reds)
next_blue_numbers.append(next_blue) # 注意,这里是单独一个蓝球
return next_red_numbers, next_blue_numbers
# 只判断一个红球时
def collect_next_numbers_one(red_ball):
next_red_numbers = []
next_blue_numbers = []
# 遍历数据,查找符合条件的下一期号码
for i in range(len(df) - 1):
current_reds = set(df.iloc[i][2:8]) # 当前红球
# 如果当前红球与输入红球有交集且当前蓝球符合输入值
if red_ball in current_reds:
next_reds = df.iloc[i + 1][2:8] # 下一期红球
next_red_numbers.extend(next_reds)
return next_red_numbers
def analyze_frequencies(numbers):
frequency = pd.Series(numbers).value_counts()
return frequency
# 输入红球和蓝球
input_red_balls = [2, 3, 17, 18, 22, 33] # 示例输入
input_blue_ball = 16 # 示例输入
for i in input_red_balls:
next_red_numbers = collect_next_numbers_one(i)
# 统计红球频率
red_frequency = analyze_frequencies(next_red_numbers)
# 获取红球频率最高和最低的前5个号码
top_red_5 = red_frequency.nlargest(5)
#display(HTML(f'当红球是:<span style="color: red;font-size:30px">{i}</span>时,下一次出现频率最高的数字是:'))
# 将 Series 转换为 DataFrame
top_red_5_df = top_red_5.reset_index()
top_red_5_df.columns = ['红球号码', '频率'] # 重命名列
# 使用 HTML 格式化输出
html_table = top_red_5_df.to_html(index=False, border=0, justify='center', classes='table table-bordered', escape=False)
# 添加自定义样式
styled_html = f'''
<div style="margin: 0 auto; width: 50%; text-align: center;">
<h3>当红球是<span style="color: red;font-size:30px">{i}</span>时,下一次红球前5频率</h3>
{html_table.replace('table', 'table style="width:100%; text-align:center;"')}
</div>
'''
# 显示美观的 HTML 表格
display(HTML(styled_html))
display(HTML('<h1>当本次出现的红球其中有一个出现,并且篮球也出现时的概率统计如下:</h1>'))
# 收集下一期出现的号码
next_red_numbers, next_blue_numbers = collect_next_numbers(input_red_balls, input_blue_ball)
# 统计红球频率
red_frequency = analyze_frequencies(next_red_numbers)
# 统计蓝球频率
blue_frequency = analyze_frequencies(next_blue_numbers)
# 获取红球频率最高和最低的前5个号码
top_red_5 = red_frequency.nlargest(5)
#bottom_red_5 = red_frequency.nsmallest(5)
# 获取蓝球频率最高和最低的前5个号码
top_blue_5 = blue_frequency.nlargest(5)
# 输出红球结果
print("红球出现频率最高的前5个号码:")
print(top_red_5)
# 输出蓝球结果
print("\n蓝球出现频率最高的号码:")
print(top_blue_5)
# 绘制红球频率柱状图
plt.figure(figsize=(12, 6))
plt.bar(top_red_5.index.astype(str), top_red_5.values, color='blue', label='红球最高频率')
plt.xlabel('号码')
plt.ylabel('频率')
plt.title('红球出现频率')
plt.legend()
plt.show()
# 绘制蓝球频率柱状图
plt.figure(figsize=(12, 6))
plt.bar(top_blue_5.index.astype(str), top_blue_5.values, color='green', label='蓝球最高频率')
plt.xlabel('号码')
plt.ylabel('频率')
plt.title('蓝球出现频率')
plt.legend()
plt.show()
代码讲解:
本次使用的预测需求是:
使用上一次出现的号码,来计算下次出现号码频率最高的前5个。
例如,第2025011期 2025-01-26(周日)21:15:00开奖结果
6 历史上,6出现了之后,大概率会出现什么呢?
13
17
22
24
29
11 历史上,篮球11出现之后,大概率会出现什么呢?
接下来,我们运行代码,看看计算结果:
图解:当红球是6时,下一期出现9的次数是131次,出现6的次数是127次,出现10的次数是127次,出现20的次数是126,出现8的次数是125.
通过本次统计,得到的号码有5组。
相信大家有自己的判断了。
3,计算红球和蓝球同时出现的情况
接下来为了使结果更加精确,我们把需求整得准确一点。
要求红球和蓝球同时出现的情况下,下一期哪些号码出现的频率最高。
例如,我们只计算当蓝球11号出现时,红球6后面出现的数字。
根据预测,得到结果如下:
这是出现频率比较高的号码。
数据是根据代码统计的结果,没有预测的效果,请慎重参考。
还需要更多数据参考,请关注我,我会继续为大家分析数据。
相关推荐
- DevExpress使用教程:GridView经验小结
-
下面是笔者自己总结的使用DevExpressGridview的一些经验小结,分享给大家:1、去除GridView头上的"Dragacolumnheaderheretogroup...
- ComponentOne 新版本发布,新增 .NET 6 和 Blazor 平台控件支持
-
ComponentOneEnterprise是葡萄城推出的一款内置300多种开发控件的.NET控件集,可满足WinForm、WPF、Blazor、ASP.NETMVC等平台下的系统开发...
- Wijmo5 Flexgrid基础教程:数据绑定
-
WijmoEnterprise下载>FlexGrid在JavaScript程序中启动添加Wijmo引用;添加wijmo控件的扩展;在JavaScript中初始化wijmo控件;(可选)添加cs...
- Wijmo5 Flexgrid基础教程:InlineEdit
-
WijmoEnterprise下载>对于flexgrid,可以直接在单元格内进行编辑。但另外还有一种编辑方式,即在一行添加按钮,统一的编辑和提交数据。本文主要介绍给flexgrid添加编辑按钮...
- WinForms Data Grid控件升级(winform devexpress控件)
-
告诉大家一个好消息:慧都将于近期隆重推出“DevExpress14.2新版发布会”。心动不如行动,赶快报名吧!我们期待与您相约DevExpress14.2新版发布会。>>新增Wind...
- XAML控件宽度为另一控件的一半、静态属性绑定
-
控件上当某些数据需要根据其他数据的变化而变化很多时候,想让某个控件的宽度或者高度是另一个已有控件的一半,一开始打算使用ObjectDataProvider来实现,因为在控件上当某些数据需要根据其他数据...
- 用 CSS Grid 布局制作一个响应式柱状图
-
最新一段时间比较喜欢玩弄图表,出于好奇,我想找出比较好的用CSS制作图表的方案。开始学习网上开源图表库,它对我学习新的和不熟悉的前端技术很有帮助,比如这个:CSSGrid。今天和大家分享我学到的...
- Grid 移动端双列瀑布流(移动端瀑布流布局)
-
预览图:原理合理使用Grid的属性:display:设置为grid指明当前容器为Grid布局grid-template-columns:定义每一列的列宽(百分比或绝对单位)grid-templa...
- DevExpress导出GridControl控件数据
-
前言:使用C#做桌面应用时,我们会常常使用Winform作为我们的开发界面,但是windows自带的控件由于长时间不更新,已经不能够满足当前开发需要所以使用DevExpress控件作为Winform...
- css grid 布局的那些事儿(css grid布局和flex布局)
-
CSSGrid是一种为Web开发创建网站布局的方式。它已经存在了很多年,随着更多浏览器的支持,它终于变得越来越流行。接下来我们将了解下CSSGrid及其工作原理。了解下它如何使用。CSS...
- Grid.js - 跨框架的前端表格插件(前端table框架)
-
只想简简单单画个表格,但React,Vue,Angular,…,这么多前端框架,各自都有不同的表格渲染库。就没有表格库能“一次画表,到处运行”吗?来看看Grid.js这个跨框架的前端表格插件吧!...
- WPF开发教程01-布局控件(wpf tablecontrol控件)
-
布局控件是用于进行控件布局的容器类控件,其内部控件按照一定规律自动排列,且在父控件改变大小时,会自动适应。常用布局控件如下:1.一维布局控件(StackPanel)其内部控件按照某个维度自动排列,排...
- wxPython - 高级控件之表格Grid(wxpython grid刷新数据)
-
实战wxPython系列-043wx.grid.Grid及其相关类用于显示和编辑表格数据。它们提供了一组丰富的功能,用于显示、编辑和与各种数据源交互。wx.grid.Grid是一个功能强大的但是又稍微...
- 前端 BFC、IFC、GFC 和 FFC,这些你都知道吗?
-
如果觉得我的文章不错,可以关注我,想要看其他的进阶知识可以查看我发布过的文章!编辑搜图请点击输入图片描述BFC(Blockformattingcontexts):块级格式上下文页面上的一个隔离的...
- 20多个好用的 Vue 组件库,请查收
-
在本文中,我们将探讨一些最常见的vuejs组件。你可以收藏一波。VueTables-2地址:https://github.com/matfish2/vue-tables-2VueTables2...
- 一周热门
- 最近发表
-
- DevExpress使用教程:GridView经验小结
- ComponentOne 新版本发布,新增 .NET 6 和 Blazor 平台控件支持
- Wijmo5 Flexgrid基础教程:数据绑定
- Wijmo5 Flexgrid基础教程:InlineEdit
- WinForms Data Grid控件升级(winform devexpress控件)
- XAML控件宽度为另一控件的一半、静态属性绑定
- 用 CSS Grid 布局制作一个响应式柱状图
- Grid 移动端双列瀑布流(移动端瀑布流布局)
- DevExpress导出GridControl控件数据
- css grid 布局的那些事儿(css grid布局和flex布局)
- 标签列表
-
- HTML 教程 (33)
- HTML 简介 (35)
- HTML 实例/测验 (32)
- HTML 测验 (32)
- JavaScript 和 HTML DOM 参考手册 (32)
- HTML 拓展阅读 (30)
- HTML常用标签 (29)
- HTML文本框样式 (31)
- HTML滚动条样式 (34)
- HTML5 浏览器支持 (33)
- HTML5 新元素 (33)
- HTML5 WebSocket (30)
- HTML5 代码规范 (32)
- HTML5 标签 (717)
- HTML5 标签 (已废弃) (75)
- HTML5电子书 (32)
- HTML5开发工具 (34)
- HTML5小游戏源码 (34)
- HTML5模板下载 (30)
- HTTP 状态消息 (33)
- HTTP 方法:GET 对比 POST (33)
- 键盘快捷键 (35)
- 标签 (226)
- HTML button formtarget 属性 (30)
- CSS 水平对齐 (Horizontal Align) (30)