我正在尝试使用pandas数据框来组织数据。
鉴于数据的结构,使用复合索引似乎合乎逻辑; 'league_id'和'fixture_id'。我相信我已经根据文档中的示例实现了此操作,但是我无法使用索引访问数据。
我的代码可以在这里找到; https://repl.it/repls/OldCorruptRadius
**一般来说,我对Pandas和编程非常陌生,因此任何建议都将不胜感激!谢谢! **
答案 0 :(得分:0)
对于多索引,您需要使用pandas MutliIndex
API,它具有自己的学习曲线;因此,我不会推荐给初学者。链接:https://pandas.pydata.org/pandas-docs/stable/user_guide/advanced.html
我使用多重索引的方法只是向其他人显示最终产品(即使其易于查看/美观)。在进行多索引编制之前,您首先将fixture_id
和league_id
过滤为列:
df = pd.DataFrame(fixture, columns=features)
df[(df['fixture_id'] == 592) & (df['league_id'] == 524)]
通过这种方式,如果您要对两列进行多索引处理,那么从技术上讲,您仍将目标对准索引。
如果必须使用多索引,请尝试使用熊猫DataFrame的转换功能。这会将索引变成列,反之亦然。例如,您可以执行以下操作:
df = pd.DataFrame(fixture, columns=features).set_index(['league_id', 'fixture_id'])
df.T[524][592].loc['event_date'] # gets you the row of `event_dates`
df.T[524][592].loc['event_date'].iloc[0] # gets you the first instance of event_dates