我应该使用什么python数据结构来存储多维幻想足球数据

时间:2017-01-18 13:37:29

标签: python database pandas

我有一个包含600左右足球(足球)球员数据的列表。列表中的每个玩家都存储为字典,每个属性都存储为例如

{'goals scored': 5}

在字典中作为整个赛季的球员统计数据。 但是,每个播放器字典中还有一个嵌套列表,其中包含一个名为history的键,其中包含播放器的各个游戏数据,以便:

{'history': list of game weeks}

列表中的每个元素都包含另一个字典,其中包含该游戏的玩家统计信息。

我最感兴趣的是提取单个游戏玩家数据,并可能对玩家进行一些分析。然而,为了做到这一点,我需要一个可靠的数据结构来提取每个游戏的统计数据,同时保留玩家ID:一个字典列表,其中键是玩家ID,值是包含字典的单个游戏的列表该游戏的玩家统计数据。但是我不确定这是否会很好地转化为熊猫数据帧,这最终是我想要执行大部分分析的地方。

有没有人对python库/数据结构有任何建议,这些建议适用于多维数据,例如此处描述的那些(维度为1)个人玩家ID 2)个人游戏周ID和3)个人游戏统计数据)

编辑:示例玩家数据:第一个字典包含本赛季的整体数据,然后在关键“历史记录”下我们列出了所有单独的游戏,并附有包含每个游戏统计数据的字典。

{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]

1 个答案:

答案 0 :(得分:1)

  

“但是我不确定这是否会很好地转化为大熊猫   数据帧,这是我最想表现的地方   我的分析。“

请参阅: http://pandas.pydata.org/pandas-docs/version/0.17.0/generated/pandas.io.json.json_normalize.html