競馬のデータをスクレイピングしてきた後の処理

 

pythonで競馬のデータをスクレイピング【AIで競馬予測】

以前に、上記の記事でnetkeiba.com様から過去のレースデータをスクレイピングしました。

そのデータをそのまま使うことはできません。僕も1ヶ月後に再びやろうとして忘れていたので、備忘録として処理の方法を書いておきます。

文字化け

僕は各騎手のページからデータを取得しました。すると、レース名などが文字化けしていました。

その場合は、メモ帳などで開いて保存すると文字化けが解消されます。

レースデータ以外の行

騎手のページからデータを取得すると、20行に1行だけ名称が取得されます。1つ1つ消すこともできるのですが、時間がかかります。

まとめて消すには、タブのなかにあるデータから、重複を削除を選択。これで何万とデータを取得した場合でも、1回で削除することができます。

空白がある行

海外レースや除外になったレースは、空白の特徴量ができてしまいます。そのままだと学習時にエラーになってしまいます。

pandasのdropna()を利用すると、一気に対象の行を削除できます。

import pandas as pd

# CSVの読み込み
df = pd.read_csv('ファイル')

dfd = df.dropna(how='any')

# CSVとして出力
dfd.to_csv('ファイル')

文字の置き換え

列を選択して、Ctrl+h で文字の置換えができる。

空白を作ってdropna()との併用もできる。