競馬分析_基礎データの前処理②

クラスのデータ表記を統合

2021年より競馬業界のクラス表記が以下のように変わりました。

netkeibaで取得したデータも、2021年前後でクラスのデータ表記が変わっているため、2022年以降の新形式に統合します。
また、オープンクラスは賞金によってG1,2,3に分けられるため、こちらも併せて修正します。

import pandas as pd
keiba_data=pd.read_csv(r"〇〇") #〇〇には競馬データ.csvのファイルパスを入力

#クラスの名称変更
keiba_class_dict ={ "500万下": "1勝クラス", "1000万下": "2勝クラス","1600万下": "3勝クラス"}
#クラスを辞書を使って置換
keiba_data["クラス"] = keiba_data["クラス"].replace(keiba_class_dict)
#オープンは1G1,G2,G3にさらに区分け
#本賞金のデータ型をint型に変更
keiba_data["本賞金"]=keiba_data["本賞金"].astype(int)

#区分け用の関数を作成
def change_class(row):
    if row['クラス'] == 'オープン':
        if 2900 <= row['本賞金'] < 4300:
            return 'G3'
        elif 4300 <= row['本賞金'] < 7000:
            return 'G2'
        elif 7000 <= row['本賞金']:
            return 'G1'
    return row['クラス']

# applyメソッドを使ってクラスをオープン,G1,G2,G3 に変更
keiba_data['クラス'] = keiba_data.apply(change_class,axis=1)

投稿者プロフィール

ひよこい
ひよこい
独学でpythonを学び競馬予測しています。これまでの競馬成績は以下の通り。回収率150%を目指します。
2021年回収率:119%
2022年回収率:104%
2023年回収率:121%
2024年回収率:88%
PAGE TOP