2017-01-18 5 views
-1

私は600人ほどのサッカー(サッカー)選手のデータを含むリストを持っています。リスト内の各選手はシーズンにわたって合計プレーヤー統計として辞書には例えば多次元ファンタジーフットボールデータを保存するために使用するPythonデータ構造

{'goals scored': 5} 

として格納された各属性で、辞書として保存されます。 しかし、キーとネストされたリストにもありますようにプレイヤーのために、個々のゲームデータが含まれている各プレイヤー辞書にhistoryと呼ばれる:そのゲームのためのプレーヤーの統計で別の辞書を含むリスト内の各要素に

{'history': list of game weeks} 

私は主に個々のゲームプレーヤーのデータを抽出し、潜在的にいくつかの分析をプレイヤーに実行したいと考えています。しかし、これを行うには、プレーヤーIDを保持しながら、個々のゲームの統計を抽出するための堅実なデータ構造が必要です。辞書のリストは、キーがプレーヤーIDであり、値は辞書を含む個々のゲームのリストですそのゲームのプレーヤーの統計情報のしかし、これがパンダのデータフレームに変換されるかどうかは確かではありません。これは最終的に分析の大部分を実行したい場所です。

ここに記載されているような多次元データ(寸法が1の場合)に適したPythonライブラリ/データ構造についての推奨事項はありませんか?個々のプレーヤーID 2)個々のゲーム週IDと3)個別のゲーム統計)。

EDIT:サンプルプレーヤーのデータ:最初の辞書にはシーズン全体のデータが含まれています。その後、キー '履歴'の下に各ゲームのリストと各ゲームの統計を含む辞書があります。

{u'assists': 0, 
u'bonus': 0, 
u'bps': 0, 
u'creativity': u'0.0', 
u'dreamteam_count': 0, 
u'ea_index': 56, 
u'element_type': 1, 
u'ep_next': u'0.5', 
u'ep_this': u'1.5', 
u'event_points': 0, 
u'first_name': u'David', 
u'form': u'0.0', 
u'goals_conceded': 0, 
u'goals_scored': 0, 
u'id:0, 
u'history: 
#single game data (there are multiple games) 
[{u'assists': 0, 
    u'attempted_passes': 0, 
    u'big_chances_created': 0, 
    u'big_chances_missed': 0, 
    u'bonus': 0, 
    u'bps': 0, 
    u'clean_sheets': 0, 
    u'clearances_blocks_interceptions': 0, 
    u'completed_passes': 0, 
    u'creativity': u'0.0', 
    u'dribbles': 0, 
    u'ea_index': 0, 
    u'element': 1, 
    u'errors_leading_to_goal': 0, 
    u'errors_leading_to_goal_attempt': 0, 
    u'fixture': 31, 
    u'fouls': 0, 
    u'goals_conceded': 0, 
    u'goals_scored': 0, 
    u'ict_index': u'0.0', 
    u'id': 1616, 
    u'influence': u'0.0', 
    u'key_passes': 0, 
    u'kickoff_time': u'2016-09-10T14:00:00Z', 
    u'kickoff_time_formatted': u'10 Sep 15:00', 
    u'loaned_in': 0, 
    u'loaned_out': 0, 
    u'minutes': 0, 
    u'offside': 0, 
    u'open_play_crosses': 0, 
    u'opponent_team': 13, 
    u'own_goals': 0, 
    u'penalties_conceded': 0, 
    u'penalties_missed': 0, 
    u'penalties_saved': 0, 
    u'recoveries': 0, 
    u'red_cards': 0, 
    u'round': 4, 
    u'saves': 0, 
    u'selected': 8072, 
    u'tackled': 0, 
    u'tackles': 0, 
    u'target_missed': 0, 
    u'team_a_score': 1, 
    u'team_h_score': 2, 
    u'threat': u'0.0', 
    u'total_points': 0, 
    u'transfers_balance': -449, 
    u'transfers_in': 183, 
    u'transfers_out': 632, 
    u'value': 49, 
    u'was_home': True, 
    u'winning_goals': 0, 
    u'yellow_cards': 0}, ... next game data] 
+2

あなたはおそらくに見て一人のプレイヤー – Navidad20

+0

用のサンプルデータを投稿できる[ 'pandas'](http://pandas.pydata.org/)。 – blacksite

+0

Pythonをここでストレージソリューションとして使用する特別な理由はありますか?リレーショナルデータベースはデータを格納するより良い方法と思われますが、データとやりとりするためのさまざまな選択肢(Pythonを含む)があります。 – CJC

答えて

関連する問題