今回はとりあえず2016年1月5日に開催された中山のダート1200mだけの結果を抽出して出力します。
この日は該当するレースが3レースがあり、出走数はいずれも16頭でした。
出走数は16で固定していますが、次回以降必要に応じて変数にしていきます。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
print("レースごとの着順データ (allumabanに格納されている)") | |
print(allumaban) | |
print("レース情報、allbabaにダートか芝か、allkyoriに距離が格納されている") | |
print(allbaba) | |
print(allkyori) | |
tousuu = 16 | |
fukulist = [[0 for i in range(3)]for j in range(tousuu)] | |
numofrace = 0 | |
for i in range(12): | |
if allbaba[i][0]== "ダ": | |
if allkyori[i]=="1200": | |
fuku = (allumaban[i][:3]) | |
for t in range(3): | |
fukulist[int(fuku[t])-1][t]+=1 | |
numofrace +=1 | |
print ("該当レース数") | |
print (numofrace) | |
print ("馬番ごとの3着以内の数") | |
print (fukulist) | |
print ("複勝率") | |
for i in range(tousuu): | |
print (str(i+1)+"番 "+str(sum(fukulist[i])/numofrace*100)) |
出力結果
----------
レースごとの着順データ (allumabanに格納されている)
[['12', '11', '13', '9', '5', '7', '14', '4', '10', '2', '15', '6', '16', '3', '8', '1'], ['5', '15', '7', '9', '11', '6', '8', '3', '14', '2', '12', '10', '13', '4', '1', '16'], ['12', '8', '13', '11', '4', '5', '15', '16', '7', '6', '1', '14', '2', '9', '10', '3'], ['10', '7', '2', '14', '13', '11', '6', '12', '16', '3', '1', '8', '9', '4', '5', '15'], ['2', '13', '10', '5', '1', '6', '9', '4', '7', '15', '12', '14', '11', '8', '3'], ['8', '9', '4', '11', '5', '2', '14', '10', '13', '12', '1', '7', '3', '6'], ['12', '3', '8', '11', '5', '1', '14', '2', '13', '6', '7', '16', '10', '4', '15', '9'], ['16', '12', '3', '5', '2', '7', '4', '9', '8', '6', '14', '1', '15', '11', '13', '10'], ['3', '5', '1', '13', '7', '8', '2', '10', '9', '14', '11', '4', '15', '6', '12'], ['4', '10', '6', '2', '9', '1', '8', '5', '7', '3'], ['5', '7', '10', '14', '3', '6', '4', '2', '13', '1', '8', '12', '11'], ['8', '3', '7', '15', '11', '5', '2', '12', '9', '4', '10', '13', '1', '6', '16', '14']]
レース情報、allbabaにダートか芝か、allkyoriに距離が格納されている
[['ダ'], ['ダ'], ['ダ'], ['ダ'], ['芝'], ['芝'], ['ダ'], ['ダ'], ['ダ'], ['芝'], ['芝'], ['芝']]
['1200', '1800', '1200', '1800', '2000', '2000', '1800', '1200', '1800', '1600', '2000', '1600']
該当レース数
3
馬番ごとの3着以内の数
[[0, 0, 0], [0, 0, 0], [0, 0, 1], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 1, 0], [0, 0, 0], [0, 0, 0], [0, 1, 0], [2, 1, 0], [0, 0, 2], [0, 0, 0], [0, 0, 0], [1, 0, 0]]
複勝率
1番 0.0
2番 0.0
3番 33.33333333333333
4番 0.0
5番 0.0
6番 0.0
7番 0.0
8番 33.33333333333333
9番 0.0
10番 0.0
11番 33.33333333333333
12番 100.0
13番 66.66666666666666
14番 0.0
----------
今回の肝となるのは、出走頭数に応じた"0"のリストを作成することです
tousuu = 16
fukulist = [[0 for i in range(3)]for j in range(tousuu)]
2次元の要素が全て"0"であることで、着順に応じた馬番に1を足すことができます。
例えば馬番"12"番が"1"着の場合、fukulist[12][1]の値が+1となります。
複勝率は3着以内ですので、sum[fukulist[i]]で3着以内の回数を求めます。
あとはダート1200mに該当したレース数"numofrace"で割り算すれば複勝率になります。
ちなみに3着以内の合計を求めなければ1着率になります。
だんだん解析コードっぽくなってきましたね
<<< Python競馬予想プログラミング【5】~Excelシートをレースごとにリスト化~
----------
レースごとの着順データ (allumabanに格納されている)
[['12', '11', '13', '9', '5', '7', '14', '4', '10', '2', '15', '6', '16', '3', '8', '1'], ['5', '15', '7', '9', '11', '6', '8', '3', '14', '2', '12', '10', '13', '4', '1', '16'], ['12', '8', '13', '11', '4', '5', '15', '16', '7', '6', '1', '14', '2', '9', '10', '3'], ['10', '7', '2', '14', '13', '11', '6', '12', '16', '3', '1', '8', '9', '4', '5', '15'], ['2', '13', '10', '5', '1', '6', '9', '4', '7', '15', '12', '14', '11', '8', '3'], ['8', '9', '4', '11', '5', '2', '14', '10', '13', '12', '1', '7', '3', '6'], ['12', '3', '8', '11', '5', '1', '14', '2', '13', '6', '7', '16', '10', '4', '15', '9'], ['16', '12', '3', '5', '2', '7', '4', '9', '8', '6', '14', '1', '15', '11', '13', '10'], ['3', '5', '1', '13', '7', '8', '2', '10', '9', '14', '11', '4', '15', '6', '12'], ['4', '10', '6', '2', '9', '1', '8', '5', '7', '3'], ['5', '7', '10', '14', '3', '6', '4', '2', '13', '1', '8', '12', '11'], ['8', '3', '7', '15', '11', '5', '2', '12', '9', '4', '10', '13', '1', '6', '16', '14']]
レース情報、allbabaにダートか芝か、allkyoriに距離が格納されている
[['ダ'], ['ダ'], ['ダ'], ['ダ'], ['芝'], ['芝'], ['ダ'], ['ダ'], ['ダ'], ['芝'], ['芝'], ['芝']]
['1200', '1800', '1200', '1800', '2000', '2000', '1800', '1200', '1800', '1600', '2000', '1600']
該当レース数
3
馬番ごとの3着以内の数
[[0, 0, 0], [0, 0, 0], [0, 0, 1], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 1, 0], [0, 0, 0], [0, 0, 0], [0, 1, 0], [2, 1, 0], [0, 0, 2], [0, 0, 0], [0, 0, 0], [1, 0, 0]]
複勝率
1番 0.0
2番 0.0
3番 33.33333333333333
4番 0.0
5番 0.0
6番 0.0
7番 0.0
8番 33.33333333333333
9番 0.0
10番 0.0
11番 33.33333333333333
12番 100.0
13番 66.66666666666666
14番 0.0
----------
今回の肝となるのは、出走頭数に応じた"0"のリストを作成することです
tousuu = 16
fukulist = [[0 for i in range(3)]for j in range(tousuu)]
2次元の要素が全て"0"であることで、着順に応じた馬番に1を足すことができます。
例えば馬番"12"番が"1"着の場合、fukulist[12][1]の値が+1となります。
複勝率は3着以内ですので、sum[fukulist[i]]で3着以内の回数を求めます。
あとはダート1200mに該当したレース数"numofrace"で割り算すれば複勝率になります。
ちなみに3着以内の合計を求めなければ1着率になります。
だんだん解析コードっぽくなってきましたね
<<< Python競馬予想プログラミング【5】~Excelシートをレースごとにリスト化~
0 件のコメント:
コメントを投稿