Python 威力彩分析(下):爬蟲、Pandas表格處理

close up photo of lottery ticket

上篇告訴大家如何爬取過去威力彩的開獎號碼,並教大家如何將資料處理成可以分析的狀態,最後儲存到Excel作後續的分析。

本篇將會告訴大家可以如何分析過去的資料,本篇的研究資料為第一期威力彩到2022年五月,提供程式碼教大家如何找出最常開出的號碼,或是號碼組,而這些程式碼也可以運用在其他領域當中,例如運用在商業當中的購物籃分析,所以運用相當廣泛,然而程式碼也相當簡潔,希望大家可以多方面運用,最後將會整理表格告訴大家最常開出的號碼,供大家參考。

  1. 導入套件:

  2. 讀取已經儲存的Excel檔:

    首先讀取Excel檔案,並且我們設定index_col=”期數”如此一來我們就能在讀取檔案的時候,順便將期數設為索引值,最後再顯示資料的前五列。
  3. 將第一區的六個號碼加總:

    我們將”第一”到”第六”的這個欄位號碼用sum函數加總起來,”axis=1”的意思是我們加總的方向是橫向的加總,如果我們要加總的方向是縱向的,則改成”axis=0”即可,此方法也常運用到,最後再顯示資料的前五列。
  4. 畫出第一區號碼總合的直方圖:

    威力彩第一區號碼為1~38號,所以每一顆球開出的平均號碼是19.5,因為一次開出六顆,所以六顆號碼的總合期望值應該是19.5*6=117 在統計學上我們學過中央極限定理,因此我們可以預測號碼總和的出現次數,會以117為中心形成一個常態分配,從過去的資料顯示,也相當符合,所以假如你今天選了五個號碼,而這五個號碼總合為95,剩下一個號碼不知道選誰,那你可以選22附近的數字 我們可以透過plt.figure(figsize=())設定圖的大小,bins則是用來將資料切成幾等分,xlabel與ylabel則是設定X、Y軸的名稱,fontsize則是設定字的大小。
  5. 分別產生星期一與星期四的兩個表格:

    由於威力彩在禮拜一與禮拜四開出,我們將資料分出來,可以針對特定天進行分析,有沒有可能星期一與星期四最常開出的號碼會有所不一樣,因此我們做這樣的資料處理,後面進行資料分析。
  6. 分析第二區最常開出的號碼:

    我們可以知道全部資料當中、星期一當中與星期四當中,這些情況下第二區出現的號碼最多的是哪個號碼,也可以除上總數算出這些號碼出現的機率。
  7. 分析第一區最常開出的號碼:

    在這個分析當中我們將觀察df表格中第一區的資料,我們如果要找出最常開出的號碼就在Counter(combinations(row_list,1)),數字1這個位置設為1,最後透過most_common(10)這個函數找出最常開出的前10個號碼,如果要看出前20個數字就將10改成20即可,最後輸出key,value,value/len(df),key為號碼,value則是號碼出現的個數,value/len(df)則會顯示出現的機率。 如果我們想要找出”禮拜一”當中第一區最常開出的號碼就將df[‘第一區’]改成df_禮拜1[‘第一區’]即可。
  8. 分析第一區最常同時開出的兩個號碼:

    跟上述的方式一樣,唯一不同的是在(combinations(row_list,2))當中將上述的1改成2即可,就能分析出同一期同時最常開出的兩個號碼,想要知道同一期同時最常開出的三個號碼則改成3即可。 如果我們想要找出”禮拜一”當中同一期同時最常開出的號碼就將df[‘第一區’]改成df_禮拜1[‘第一區’]即可。
  9. 各種情況下第二區8個號碼的開出情形

  10. 各種情況下第一區最常開出的10個號碼

感謝您的觀閱,希望以上的方法可以幫助你學習到一些分析的方式,雖然我們都想一夜致富,但建議大家,偶爾買買就好,不宜成迷,但希望有根據的數據分析,當大家沒有頭緒要買甚麼號碼時,可以根據分析的結果下注,住大家都能中獎,早日財富自由。

留言討論區