[PYTHON] Ich habe versucht, mit Pandas eine Pferderenn-Datenbank zu erstellen

Einführung

Ich war daran als Datenanalysethema interessiert, also habe ich es versucht.

Die Seite, auf die ich mich bezog, ist hier.

Flow zur Vorhersage von Pferderennen

Wenn Sie ein Vorhersagemodell von Grund auf neu erstellen möchten, müssen Sie die folgenden Schritte ausführen:

  1. Scraping Daten von Pferderenngelände
  2. Datenvorverarbeitung
  1. Teilen Sie in Trainingsdaten und Testdaten auf
  2. Modellbau
  1. Sagen Sie voraus, welches Rennen Sie vorhersagen möchten

Dieses Mal werde ich die kratzbezogenen Elemente in 1 kurz zusammenfassen.

Über das Schaben

net.keiba.com Ich habe von dieser Site gekratzt.

wichtiger Punkt

Das gleichzeitige Abrufen einer großen Datenmenge belastet den Server. Durch Einfügen von "time.sleep (1)" wird gewartet, wenn jede Sekunde "race_id_list" angefordert wird. Es wird gesagt, dass es eine Möglichkeit ist, die Serverlast dadurch zu reduzieren.

import pandas pd
from tqdm import tqdm_notebook as tqdm
import time

def scrape_race_results(race_id_list):
    race_results={}
    for race_id in tqdm(race_id_list):
        try:
            url = 'https://db.netkeiba.com/race/'+ race_id
            race_results[race_id]= pd.read_html(url)[0]
            time.sleep(1)
        except IndexError:
            continue
        except:
            break
    return race_results

Tragen Sie das Rennen, das Sie einchecken möchten, in diese race_id ein. Angenommen, Sie haben die ID "202009020611". das ist,

2020 → Anzahl der Jahre
09 → Standort(Hanshin für 09, Ogura für 10 usw.)
02 → Monat
06 → So.
11 → Anzahl der Rennen

Wird gezeigt.

Sie können es auf diese Weise als Versuch sehen.

image.png

Wir werden die Daten mit einfachen Pandas analysieren. Speichern Sie es zur Beruhigung als "pickle" -Datei und "csv".

Unter der Annahme, dass die erfassten Daten in "resluts_new" gespeichert sind, ist dies wie folgt.

results_new.to_pickle('results_new2017-2020')
results_new.to_csv('results_new2017-2020.csv',encoding="SHIFT-JIS")

Am Ende

Ich habe die Datenerfassungsmethode leicht zusammengefasst.

Recommended Posts

Ich habe versucht, mit Pandas eine Pferderenn-Datenbank zu erstellen
Ich habe versucht, mit Boto3 eine Liste der AMI-Namen zu erhalten
[Pferderennen] Ich habe versucht, die Stärke des Rennpferdes zu quantifizieren
Ich habe versucht, den Index der Liste mithilfe der Aufzählungsfunktion abzurufen
Ich habe versucht, mit Python einen regulären Ausdruck für "Betrag" zu erstellen
Ich habe versucht, mit Python einen regulären Ausdruck von "Zeit" zu erstellen
Ich habe versucht, mit Python einen regulären Ausdruck von "Datum" zu erstellen
Ich habe eine Funktion zum Abrufen von Daten aus der Datenbank spaltenweise mithilfe von SQL mit SQLite3 von Python [SQLite3, SQL, Pandas] erstellt.
Ich habe versucht, die Datenbank (sqlite3) mit kivy zu verwenden
Ich habe ein ○ ✕ Spiel mit TensorFlow gemacht
Ich habe versucht, die Trefferergebnisse von Hachinai mithilfe der Bildverarbeitung zu erhalten
Ich habe das Schaben mit Selen gelernt, um ein Vorhersagemodell für Pferderennen zu erstellen.
Ich habe versucht, eine Clusteranalyse von Kunden anhand von Kaufdaten durchzuführen
Wie man Pferderenndaten mit pandas read_html kratzt
Ich habe versucht, die 100-Yen-Lagerstätte von Rakuten-Pferderennen (Python / Selen) zu automatisieren.
Ich habe versucht, mit AWS Lambda einen AMI zu erhalten
[Python] Ich habe versucht, Json von Tintenfischring 2 zu bekommen
Ich habe versucht, Python (3) anstelle eines Funktionsrechners zu verwenden
Ich habe versucht, ein Konfigurationsdiagramm mit Diagrammen zu zeichnen
Ich habe versucht, das Update von "Werde ein Romanautor" mit "IFTTT" und "Werde ein Romanautor API" zu benachrichtigen.
Jedes Mal, wenn ich versuche, eine CSV-Datei mit Pandas zu lesen, wird ein numpy-Fehler angezeigt.
Ich wollte viele Bilder sammeln, also habe ich versucht, "Google Image Download" zu verwenden.
Ich habe versucht, die Standortinformationen des Odakyu-Busses zu erhalten
Ich habe versucht, die Informationen des Webs mit "Requests" und "lxml" abzurufen.
Ich habe versucht "Wie man eine Methode in Python dekoriert"
Ich habe versucht, mit Hy ・ Define a class zu beginnen
Ich habe versucht, den Pferderennplatz Teil 2 zu kriechen und abzukratzen
Ich habe versucht, [eine bestimmte Aufgabe] mit einem Raspeltorte zu automatisieren
Ich habe eine Stoppuhr mit tkinter mit Python gemacht
Ich habe mit PyQt einen einfachen Texteditor erstellt
Ich habe versucht, mit pypyodbc schnell Daten von AS / 400 abzurufen
Ich habe versucht, GrabCut von OpenCV zu verwenden
Ich habe versucht, die Genauigkeit von Modellen für maschinelles Lernen mit Kaggle als Thema zu vergleichen.
Ich habe versucht, mit PI Fu aus einem Bild ein 3D-Modell einer Person zu erstellen
Ich habe versucht, die Erstellung einer praktischen Umgebung mithilfe der SoftLayer-API der IBM Cloud zu automatisieren
Ein Memorandum beim automatischen Erwerb mit Selen
[Python] Ein Memo, das ich versucht habe, mit Asyncio zu beginnen
Ich habe versucht, mit Python eine Liste von Primzahlen zu erstellen
Ich habe versucht, eine ToDo-App mit einer Flasche mit Python zu erstellen
Erstellen Sie eine Funktion, um den Inhalt der Datenbank in Go abzurufen
[Python] Ich habe versucht, mithilfe der YouTube-Daten-API verschiedene Informationen abzurufen!
Ich habe versucht, mit pypyodbc Preparation 1 schnell Daten von AS / 400 abzurufen
Ich habe versucht, mit Go einen exklusiven Kontrollmechanismus zu erstellen
Ich habe versucht, einen Linebot zu erstellen (Implementierung)
Ich habe versucht, Azure Speech to Text zu verwenden.
Ich habe versucht, einen Linebot zu erstellen (Vorbereitung)
Ich habe versucht, mit Hy anzufangen
Ich habe versucht, ○ ✕ mit TensorFlow zu spielen
Ich habe versucht, mit einer Schildkröte eine Linie zu ziehen
Ich habe versucht, Text mit TensorFlow zu klassifizieren
Ich habe eine Web-API erstellt
Ich habe versucht, pipenv zu verwenden, machen Sie sich also eine Notiz
Vektorisierung des Stammbaums von Pferderennen mit fastText
Ich habe versucht, ein Auto in 3D zu erkennen
Ich habe versucht, das Gesichtsbild mit sparse_image_warp von TensorFlow Addons zu transformieren
Ich habe versucht, die Ähnlichkeit der Frageabsicht mit Doc2Vec von gensim abzuschätzen
Ein Memorandum darüber, wie man Pandas schreibt, das ich persönlich oft vergesse
Ich habe versucht, den Authentifizierungscode der Qiita-API mit Python abzurufen.