首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用pandas复合索引访问数据

问无法使用pandas复合索引访问数据
EN

Stack Overflow用户
提问于 2020-01-12 00:01:05
回答 1查看 19关注 0票数 1

我正在尝试使用熊猫数据帧来组织数据。

给定数据的结构,使用复合索引似乎是合乎逻辑的;'league_id‘和'fixture_id’。我相信我已经根据文档中的示例实现了这一点,但是我无法使用索引访问数据。

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

**我对熊猫和编程是非常陌生的,所以任何建议都会非常感谢!谢谢!**

EN

回答 1

Stack Overflow用户

发布于 2020-01-12 04:36:38

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

我使用多索引的方式只是为了将最终产品展示给其他人(即使其易于查看/美观)。在建立多索引之前,首先将fixture_id和league_id作为列进行过滤:

代码语言:javascript
复制
df = pd.DataFrame(fixture, columns=features)
df[(df['fixture_id'] == 592) & (df['league_id'] == 524)]

这样,如果您已经完成了对这两列的多索引,那么您在技术上仍然是针对索引的。

如果必须使用多索引,可以尝试pandas DataFrame的转换功能。这会将索引转换为列,反之亦然。例如,您可以这样做:

代码语言:javascript
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59696064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档