无法使用熊猫综合索引访问数据

时间:2020-01-11 16:01:05

标签: python pandas

我正在尝试使用pandas数据框来组织数据。

鉴于数据的结构,使用复合索引似乎合乎逻辑; 'league_id'和'fixture_id'。我相信我已经根据文档中的示例实现了此操作,但是我无法使用索引访问数据。

我的代码可以在这里找到; https://repl.it/repls/OldCorruptRadius

**一般来说,我对Pandas和编程非常陌生,因此任何建议都将不胜感激!谢谢! **

1 个答案:

答案 0 :(得分:0)

对于多索引,您需要使用pandas MutliIndex API,它具有自己的学习曲线;因此,我不会推荐给初学者。链接:https://pandas.pydata.org/pandas-docs/stable/user_guide/advanced.html

我使用多重索引的方法只是向其他人显示最终产品(即使其易于查看/美观)。在进行多索引编制之前,您首先将fixture_idleague_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