python資料分析2:雙色球 藍紅球分析統計
阿新 • • 發佈:2019-01-24
newdata.txt資料樣子
...
2005-08-21, 05,10,23,27,28,30,15
2005-08-18, 04,05,17,18,26,33,04
2005-08-16, 09,12,18,21,28,29,05
...
一、藍球統計:
analyze_data_lan.py
#!/usr/bin/python # -*- coding:UTF-8 -*- #呼叫pandas numpy matplotlib包 import pandas as pd import numpy as np import matplotlib.pyplot as plt #讀取newdata.txt檔案 df = pd.read_table('newdata.txt',header=None,sep=',') # print df # print df[1:3] #第2到第3行(索引0開始為第一行,1代表第二行,不包含第四行) # print df.loc[0:10,:] #第1行到第9行的全部列 # print df.loc[:,[0,7]] #全部行的第1和第8列 tdate = sorted(df.loc[:,0]) #取第一列資料 # print tdate tdate1 = [] #將tdate資料讀取到列表中 for i in tdate: tdate1.append(i) print tdate1 # s = pd.Series(tdate1, index=tdate1) s = pd.Series(range(1,len(tdate1)+1), index=tdate1) #將日期轉換為對應的數值從1開始 # print s tblue = list(reversed(df.loc[:,7])) #對資料取反 print tblue fenzu = pd.value_counts(tblue,ascending=False) #將資料進行分組統計,按照統計數降序排序 print fenzu x=list(fenzu.index[:]) #獲取藍色號碼 y=list(fenzu.values[:]) #獲得藍色統計數量 print x print y # print type(fenzu) plt.figure(figsize=(10,6),dpi=70) #配置畫圖大小、和細度 plt.legend(loc='best') # plt.plot(fenzu,color='red') #線圖 plt.bar(x,y,alpha=.5, color='b',width=0.8) #直方圖引數設定 plt.title('The blue ball number') #標題 plt.xlabel('blue number') #x軸內容 plt.ylabel('times') #y軸內容 plt.show() #顯示圖
結果輸出:
看來藍球9選中最多
二、紅球統計
analyze_data_hong.py
#!/usr/bin/python # -*- coding:UTF-8 -*- import pandas as pd import numpy as np import matplotlib.pyplot as plt #讀取檔案 df = pd.read_table('newdata.txt',header=None,sep=',') # print df # print df[1:3] # print df.loc[0:10,:] # print df.loc[:,1:6] tdate = sorted(df.loc[:,0]) # print tdate h1 = df.loc[:,1] h2 = df.loc[:,2] h3 = df.loc[:,3] h4 = df.loc[:,4] h5 = df.loc[:,5] h6 = df.loc[:,6] #將資料合併到一起 all = h1.append(h2).append(h3).append(h4).append(h5).append(h6) alldata = list(all) print len(alldata) fenzu = pd.value_counts(all,ascending=False) print fenzu x=list(fenzu.index[:]) y=list(fenzu.values[:]) print x print y # print type(fenzu) plt.figure(figsize=(10,6),dpi=70) plt.legend(loc='best',) # plt.plot(fenzu,color='red') plt.bar(x,y,alpha=.5, color='r',width=0.8) plt.title('The red ball number') plt.xlabel('red number') plt.ylabel('times') plt.show()
結果輸出:
紅球1、7、14、17、26選中機率高些