美文网首页
练习:号码出现有规律吗?

练习:号码出现有规律吗?

作者: Ryan96 | 来源:发表于2020-01-05 11:15 被阅读0次

    刚开始学习数据分析,正好发现这是个非常不错的例子,可以尝试看一下中奖率是否有规律可循。

    结论:

    简单来看,各数字频率并没有想象中那么一致的,有个别几个数字会比其他的数字高,顺序上在长期或短期都一样,但短期各数频率差别更大。

    未来希望可以用更复杂的统计方法和技术进行深入分析,然后可以尝试配合玩法和一些组合投入方式,或许可以让期望收益变得不错。

    一、获取10年的出号情况

    爬取2009年到~2019年12月内所有的出号情况,清理下空值和格式,把index改为时间序列方便接下来处理

    image

    这里用的是selenium和lxml,本来想用requestsHTML,但是有些东西用不了,只好用慢一点的。

    from selenium import webdriver
    from lxml import etree
    import pandas as pd
    import numpy as np
    
    #url
    url = 'https://datachart.500.com/ssq/history/history.shtml'
    #输入时间周期,请求数据
    start = '09151'
    end = '19151'
    driver = webdriver.Chrome(executable_path="F:\chromedriver")
    driver.get(url)
    driver.find_element_by_xpath('//*[@id="start"]').clear()
    driver.find_element_by_xpath('//*[@id="start"]').send_keys(start)
    driver.find_element_by_xpath('//*[@id="end"]').clear()
    driver.find_element_by_xpath('//*[@id="end"]').send_keys(end)
    
    driver.find_element_by_xpath('//*[@id="container"]/div/table/tbody/tr[1]/td/div/div[1]/div/table/tbody/tr/td[2]/img').click()
    html_str = driver.execute_script("return document.documentElement.outerHTML")
    
    #分析页面
    DATA = []
    htmlE = etree.HTML(html_str)
    trs = htmlE.xpath('//*[@id="tdata"]/tr')
    for tr in trs:
        num = tr.xpath('.//td/text()')
        DATA.append(num)
    
    #转存dataframe,保存数据
    col = ['期号','r1','r2','r3','r4','r5','r6','b1','hsd','奖池奖金','一等奖_注数','一等奖_奖金','二等奖_注数','二等奖_奖金','总投注','date']
    df = pd.DataFrame(DATA,columns=col)
    df.set_index(["date"], inplace=True)#设置index为自身的日期列
    del df['hsd']
    
    #去掉多余的,
    def repl(st):
        st = str(st)
        return st.replace(',','')
    s = df.applymap(repl)
    s.to_csv('E:\data\lottery_data.txt',sep=",",encoding='utf-8')
    
    

    二、一二等奖的每期中奖量变化相同

    image

    可以看出,10年内一等奖和二等奖中奖的注数是一起变化的,中奖的注数10年来很稳定,没有升高或者降低,起伏的原因不知道是玩法的调整还是普通的周期变化,再接下来就得看一下号码的情况了。

    import pandasas pd
    import numpyas np
    import matplotlib.pyplotas plt
    
    #显示中文
    plt.rcParams['font.sans-serif'] = ['SimHei']# 用来正常显示中文标签
    plt.rcParams['axes.unicode_minus'] =False  # 用来正常显示负号
    
    #导入
    df = pd.read_csv('E:\data\lottery_data.txt',encoding='utf-8')
    pd.set_option('display.max_columns', None)
    
    #index变为时间序列
    df.index = pd.to_datetime(df['date'])
    print(df.head())
    
    #提取数据,降维
    a = df['一等奖_注数'].resample('M').sum()
    s = df['二等奖_注数'].resample('M').sum()/10
    
    #设置各图
    fig = plt.figure(num=1,figsize=(10,3))
    ax1=fig.add_subplot(1,1,1)
    ax1.plot(a,label='一等奖')
    ax2=fig.add_subplot(1,1,1)
    ax2.plot(s,label='二等奖')
    
    #设定图例和标题
    
    plt.title('2009~2019 中奖注数频率分布 组宽:月')
    plt.legend(loc=0)
    
    #保存
    
    plt.savefig(r'C:\Users\ryan\Desktop\新建文件夹\2.png')
    plt.show()
    
    

    三、短期内部分数字出现频率是其他数字的两倍

    分别从10年和最近6个月来看一下红球和蓝球的情况,由于双色球不看号码顺序,所以位数暂时忽略。从图里可以明显看出短期内的频率差别更大长期虽然较为稳定,但是有些数字的分位没什么大变动。

    image
    #计算
    a1 = df[['r1','r2','r3','r4','r5','r6']].copy().apply(pd.value_counts)
    a1 = a1.sum(axis=1)
    a1 = a1.sort_values(ascending=False)
    a2 = df['b1'].copy().value_counts()
    
    df.index = pd.to_datetime(df['date'])
    a3 = df[['r1','r2','r3','r4','r5','r6']].truncate(after='2019-06-15')
    a3 = a3.apply(pd.value_counts)
    a3 = a3.sum(axis=1)
    a3 = a3.sort_values(ascending=False)
    
    a4 = df['b1'].truncate(after='2019-06-15').value_counts()
    #设定图表
    fig = plt.figure(num=1,figsize=(14,8))
    
    ax1 = fig.add_subplot(2,2,1)
    a1.plot(kind='bar',color='red',alpha=0.8)
    plt.title('10年 红色数字频数分布')
    
    ax2 = fig.add_subplot(2,2,2)
    a2.plot(kind='bar',alpha=0.8)
    plt.title('10年 蓝色数字频数分布')
    
    ax3 = fig.add_subplot(2,2,3)
    a3.plot(kind='bar',color='red',alpha=0.8)
    plt.title('最近6个月 红色数字频数分布')
    
    ax4 = fig.add_subplot(2,2,4)
    a4.plot(kind='bar',alpha=0.8)
    plt.title('最近6个月 蓝色数字频数分布')
    plt.savefig(r'C:\Users\ryan\Desktop\新建文件夹\3.png')
    plt.show()
    
    

    结:目前掌握的统计方法和技术太少,也没有特别完整的框架流程,还需继续学习。

    相关文章

      网友评论

          本文标题:练习:号码出现有规律吗?

          本文链接:https://www.haomeiwen.com/subject/fmmqactx.html