三谈大数据之足球盘口赔率水位分析思路及其实现利器

本文介绍了如何利用Python的pandas库和MySQL数据库进行大数据分析,特别是针对超过130万条足球比赛数据进行条件筛选和验证。通过实例展示了如何快速查询和验证特定赔率、盘口组合下的比赛结果,强调了自动化查询在处理大量数据时的优势,并提供了数据保存的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 前两期导航:

再谈大数据之足球盘口赔率水位分析的思路与神准预测技巧_sundayhost的博客-CSDN博客_欧赔水位如何看

再谈大数据之足球盘口赔率水位分析的思路与神准预测技巧_sundayhost的博客-CSDN博客_欧赔水位如何看

 接前两期内容,前两期分别介绍了数据分析讲究的科学性、真实性,以及如何利用足球盘口赔率凯利必发查询验证报表进行数据分析与赛果验证,本期介绍利用mysql 和 python 进行大数据分析的方法:

1、人工筛选的局限性

对于一张超过130万行,160多个字段(意味着130万场比赛,每场比赛多大160多个指标)的表格,要想人工进行分类查询验证是极不合理的。如图:

 2、利用pymysql连接数据库

这里的数据库是mysql,当然也可以是其他数据库,读取所有比赛数据。需要用到的库和连接方式如下:

import pandas as pd
import os, pymysql

dbconn = pymysql.connect(host='111.111。111.111',user="zcradar", passwo ="********",db='zuqiu') 
cur = dbconn.cursor()

远程连接云服务器现在ip,本地连接就用localhost;默认端口是3306,如果改动过,将port参数设置好填入即可;db表示要连接的库名。

3、更快的计算查询

可选择利用pandas来读取数据库中的表,这样做的好处是一次性读取到内存,方便后来的按不同条件查找,速度明显非常快,缺点是可能电脑内存跟不上而异常卡顿。如果内存不足导致的卡顿,那么还是按照一次一次的分类好的条件进行数据库查询。用pandas读取数据库也非常方便:

sql="select * from predict.oddfea order by time desc ;"
final_data = pd.read_sql(sql, db)

注意,这里利用pymysql连接的是zuqiu这个库,而要想调用另外库中的表时,只需在此表前加上所在库的名称就可以了。

4、设计查询和验证的程序

一位用户在使用足球数据库报表时,想看看筛选效果是否与他认知的相同,给出的条件是:在历届英超中,365的终赔主胜为1.8,终盘为半球,终盘大小为2.25。一共4个条件:人工手动查询如下:

 一共筛选出符合条件的有12场,主胜7场,平局4场,主负1场,明显当到达此组合条件时就是主不败格局,看来这位用户利用这类条件人工做过不少的历史复盘,应该是个老手,是个狠角色。

如前文说讲,用pandas读取查询和验证系统报表,速度会更快,其方式为:

import pandas as pd
import os, pymysql

dbconn = pymysql.connect(host='111.111。111.111',user="zcradar", passwo="********",db='zuqiu') 
cur = dbconn.cursor()

sql="select * from data.查询和验证系统;"
final_data = pd.read_sql(sql, db)

leagues = list(final_data.last_league .unique())       # 提取所有的赛事,并转化为列表
for league in leagues:
    final_data1 = final_data[final_data.league==league]
    odds = list(final_data1.last_odd_win.unique())              # 提取该赛事下的主胜终赔有哪些,转为列表
    asianodds = list(final_data1.last_asianodd.unique())        # 提取该赛事下的终盘有哪些,转为列表
    overdowns = list(final_data1.overdown.unique())             # 提取该赛事下的大小终盘有哪些,转为列表

ok,到这里就提取所有想要的内容,在各种条件组合下,记录比如满足大于主胜占比大于70%,或主不败大于90%的 条件有多少,以及对应的概率是多少就ok了。

5、保存结果

一次查询可能非常耗时,各种组合条件及其结果有必要保存下来。

insert_sql = "insert ignore into zuqiu.result (gameid, condition1, condition2,condition3,condition4,result1,result2,result3) VALUES(%s,%s,%s,%s,%s,%s,%s,%s);"
cur.excute(insert_sql)
db.commit()

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sundayhost

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值