python获取历史双色球数据_你的梦想,我来买单!Python分析双色球中奖号码竟成功获取特等奖
關(guān)于雙色球的話題估計(jì)大家都聽的很多,畢竟成本很低,但是收獲很高。畢竟當(dāng)利潤達(dá)到100%時(shí),就有人敢于鋌而走險(xiǎn)。當(dāng)利潤達(dá)到200%時(shí),他們就敢于冒上斷頭臺的危險(xiǎn)。 而當(dāng)利潤達(dá)到300%他們就會踐踏人間的一切法律。更何況是n倍的利潤刺激,只是想要中獎(jiǎng)的概率實(shí)在是低到讓人絕望。
不過,盡管是這樣,還是有非常多的人愿意去嘗試一下。畢竟,成本實(shí)在太低,萬一要是能中呢?相信在讀這篇文章的朋友也會經(jīng)常的去買一波“夢想”,萬一實(shí)現(xiàn)了呢?
夢想還是要有的,不然和咸魚有什么區(qū)別。今天我的目的就是幫大家實(shí)現(xiàn)夢想,通過Python分析,增加你的夢想實(shí)現(xiàn)概率。
1.數(shù)據(jù)爬取網(wǎng)頁:歷史雙色球數(shù)據(jù)
#分析網(wǎng)頁后可以得知get歷史所有數(shù)據(jù)的參數(shù)url='https://datachart.500.com/ssq/history/newinc/history.php?start=03001' #加載相關(guān)的庫import requestsimport numpy as npimport pandas as pd#獲取歷史所有雙色球數(shù)據(jù)response = requests.get(url)response.encoding = 'utf-8' re_text = response.text#網(wǎng)頁數(shù)據(jù)解析re=re_text.split('')[1].split('')[0]result=re.split('')[1:]all_numbers=[]for i in result: each_numbers=[] i=i.replace('','') each=i.split('')[:-1] for j in each: each_numbers.append(j.split('>')[1].replace(' ','')) all_numbers.append(each_numbers) #定義列名稱 col=['期號','紅球1','紅球2','紅球3','紅球4','紅球5','紅球6','藍(lán)球','快樂星期天','獎(jiǎng)池獎(jiǎng)金(元)', '一等獎(jiǎng)注數(shù)','一等獎(jiǎng)獎(jiǎng)金(元)','二等獎(jiǎng)注數(shù)','二等獎(jiǎng)獎(jiǎng)金(元)','總投注額(元)','開獎(jiǎng)日期']#解析完網(wǎng)頁數(shù)據(jù),生成雙色球數(shù)據(jù)框df_all=pd.DataFrame(all_numbers,columns=col)df_all.head()2.數(shù)據(jù)轉(zhuǎn)換
#日期轉(zhuǎn)換df_all['開獎(jiǎng)日期_dt']=pd.to_datetime(df_all['開獎(jiǎng)日期'])df_all['year']=df_all['開獎(jiǎng)日期_dt'].dt.yeardf_all['month']=df_all['開獎(jiǎng)日期_dt'].dt.monthdf_all['day']=df_all['開獎(jiǎng)日期_dt'].dt.daydf_all['weekday']=df_all['開獎(jiǎng)日期_dt'].dt.weekday_namedf_all.head()#one-hot 編碼轉(zhuǎn)換自定義函數(shù)def lotterydata(df): modeldata=df.copy() redball=[] for i in range(1,34): redball.append('紅球'+'%02d'%i) for i in redball: modeldata[i]=0 blueball=[] for i in range(1,17): blueball.append('藍(lán)球'+'%02d'%i) for i in blueball: modeldata[i]=0 for row in range(modeldata.shape[0]): #print(row) #print(modeldata.iloc[row,:]) for i in redball: #print(i) #modeldata[i]=0 if (modeldata.iloc[row,:]['紅球1']==i[-2:] or modeldata.iloc[row,:]['紅球2']==i[-2:] or modeldata.iloc[row,:]['紅球3']==i[-2:] or modeldata.iloc[row,:]['紅球4']==i[-2:] or modeldata.iloc[row,:]['紅球5']==i[-2:] or modeldata.iloc[row,:]['紅球6']==i[-2:]): modeldata.loc[row,i]=1 for j in blueball: #modeldata[j]=0 if modeldata.iloc[row,:]['藍(lán)球']==j[-2:]: modeldata.loc[row,j]=1 return modeldata#生成各顏色球的0-1編碼modeldata=lotterydata(df_all)modeldata.head()3.數(shù)據(jù)分析與展示
allhistorydata=modeldata.iloc[:,-49:].copy()#歷史所有紅球和藍(lán)球數(shù)據(jù)allhistorydata_red=allhistorydata.iloc[:,:33]allhistorydata_blue=allhistorydata.iloc[:,-16:]#最近20期紅球和最近48期藍(lán)球#(33*3)/6 每個(gè)紅球有3次出現(xiàn)機(jī)會,看一共需要多少期,這里取整數(shù)20期#(16*3)/1 每個(gè)藍(lán)球有3次出現(xiàn)機(jī)會,看一共需要多少期recently20_red=allhistorydata.iloc[:20,:33]recently48_blue=allhistorydata.iloc[:48,-16:]#求和historyred_sum=allhistorydata_red.sum()historyblue_sum=allhistorydata_blue.sum()recently20red_sum=recently20_red.sum()recently48blue_sum=recently48_blue.sum()#排序historyred_sum=historyred_sum.sort_values(ascending=True)historyblue_sum=historyblue_sum.sort_values(ascending=True)recently20red_sum=recently20red_sum.sort_values(ascending=True)recently48blue_sum=recently48blue_sum.sort_values(ascending=True)#數(shù)據(jù)展示import matplotlib.pyplot as plt%matplotlib inlineplt.rcParams['font.sans-serif'] = ['SimHei'] #顯示中文plt.figure(figsize=(30,24),facecolor='snow')#歷史出現(xiàn)次數(shù)最少的10個(gè)紅球x_red=historyred_sum.index.map(lambda x:x[-2:])[:10]y_red=historyred_sum.values[:10]#歷史出現(xiàn)次數(shù)最少的5個(gè)藍(lán)球x_blue=historyblue_sum.index.map(lambda x:x[-2:])[:5]y_blue=historyblue_sum.values[:5]plt.subplot(3,2,1)plt.bar(x_red,y_red,width=0.4,align='center',color='r')for a,b in zip(x_red,y_red): plt.text(a,b,b,ha='center',va='bottom',fontsize=15)plt.tick_params(axis='x',labelsize=30)plt.title("歷史出現(xiàn)次數(shù)最少的10個(gè)紅球",fontsize=30)plt.subplot(3,2,2)plt.bar(x_blue,y_blue,width=0.2,align='center',color='b')for a,b in zip(x_blue,y_blue): plt.text(a,b,b,ha='center',va='bottom',fontsize=15)plt.tick_params(axis='x',labelsize=30)plt.title("歷史出現(xiàn)次數(shù)最少的5個(gè)藍(lán)球",fontsize=30)#最近20期紅球x20_red=recently20red_sum.index.map(lambda x:x[-2:])y20_red=recently20red_sum.values#最近48期藍(lán)球x48_blue=recently48blue_sum.index.map(lambda x:x[-2:])y48_blue=recently48blue_sum.valuesplt.subplot(3,1,2)plt.bar(x20_red,y20_red,width=0.5,align='center',color='r')for a,b in zip(x20_red,y20_red): plt.text(a,b,b,ha='center',va='bottom',fontsize=15)plt.tick_params(axis='x',labelsize=25)plt.title("最近20期紅球情況",fontsize=30)plt.subplot(3,1,3)plt.bar(x48_blue,y48_blue,width=0.5,align='center',color='b')for a,b in zip(x20_blue,y20_blue): plt.text(a,b,b,ha='center',va='bottom',fontsize=15)plt.tick_params(axis='x',labelsize=25)plt.title("最近48期藍(lán)球情況",fontsize=30)plt.show() 最終的數(shù)據(jù)展示結(jié)果,僅供參考!!!總結(jié)
既然是概率學(xué)問題,那么數(shù)據(jù)分析肯定是有作用的,我能幫的就只有這么多了!希望大家能夠一夜之間走向人生巔峰,到時(shí)候記得別忘了我哦!
不過還是告誡大家一句,就算是將雙色球分析的明明白白,但是這個(gè)東西始終是隨機(jī)性的,而且數(shù)據(jù)分析也不一定有作用。小買怡情,大買傷身。
總結(jié)
以上是生活随笔為你收集整理的python获取历史双色球数据_你的梦想,我来买单!Python分析双色球中奖号码竟成功获取特等奖的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 无法使用此安装程序来安装 .net fr
- 下一篇: c++ 异步下获取线程执行结果_前端异步