1

私は現在、Google App Engine で Python の Web アプリケーションを構築して、フォームの競馬データを収集しています。基本的なデータ構造は、 Course has many Meetings many Races many Horses has a Jockey and a Trainer です。これまでのところ、次のモデルを取得しています (簡潔にするためにフィールドの数を減らしています)。

class Course(db.Model):
  course_number = db.IntegerProperty()     # course id (third party)
  course_description = db.StringProperty() # course name

class Meeting(db.Model):
  course = db.ReferenceProperty(Course)    # reference to course
  meeting_number = db.IntegerProperty()    # lifetime meeting number for course
  meeting_date = db.DateProperty()         # meeting date

class Race(db.Model):
  meeting = db.ReferenceProperty(Meeting)  # reference to meeting
  race_number = db.IntegerProperty()       # eg 1 for 1st race of meeting
  race_name = db.StringProperty()          # race name
  time_of_race = db.TimeProperty()         # race time

馬、トレーナー、ジョッキーのデータをデータ ストアに保存する方法がわかりません。

私のアプリケーションは、たとえば過去 2 年間のデータを収集します。このため、馬、調教師、騎手に関する関連結果情報を保存します。特定の馬の結果に関する情報は、その時点で調教師と騎手で同じです。ただし、時間の経過とともに、馬は異なるトレーナーと異なるジョッキーを持つことができます.

馬、騎手、調教師のいずれかの過去 10 レースの結果を分析する必要があることに気付いたとき、私の主な脳の痛みが来ています。結果が英国のレース以外で発生したため (データはまだ利用可能です)、または完全なレースの保存を開始する日付より前に発生したため、保存されない可能性がある結果。

私がこれに対応できるように、馬、騎手、トレーナーの結果の保存を最適化する方法について誰かが光を当てることができますか?

データのソース: http://form.horseracing.betfair.com/timeform 必要なすべてのデータは、JSON リクエストを介して簡単にアクセスできます。

4

1 に答える 1

0

あなたはHorseResult、TrainerResult、およびJockeyResultモデルを使用して正しい方向に進んでいます。データストアにはグループ化または集計関数がないため、データをロードするときに、関心のある集計または統計を事前に計算することをお勧めします。

おそらく、馬、騎手、調教師のパフォーマンスを経時的に追跡するための統計タイプのモデルと、それぞれの組み合わせも必要になるでしょう。HorseMonthのようなもので、馬が関与したレースの数と月ごとの順位を追跡する場合があります。

また、馬と騎手、または馬と調教師の組み合わせが時間の経過とともにどのように行われたかについての詳細を保持することも検討します。残念ながら、私は競馬について十分に知らないので、どの組み合わせが意味があるかについて具体的な提案をすることができません。

これは主に自分で使用するためのツールのように思われるので、マッパーAPIを調べるとよいでしょう。データを探索するときに非常に役立つ場合があります。

収穫範囲を拡大する以外に、レースがデータに含まれていない場合、できることは多くない可能性があります。あなたはおそらくあなたが持っている結果を返したいだけでしょう、そしておそらく日付範囲に十分なデータがないことを示す何かがありますか?

于 2010-10-08T04:03:26.343 に答える