首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >熊猫多指标第一指数的选择范围?

熊猫多指标第一指数的选择范围?
EN

Stack Overflow用户
提问于 2018-09-03 14:51:49
回答 1查看 450关注 0票数 0

我有一个具有0级和1级的多级索引数据,0级是日期,级别1是资产ids。

我只是尝试根据0级索引来选择数据帧的一个片段。例如:

df-10:将根据0级检索最后10个索引下的所有行。

我尝试过许多类似于此的东西:

代码语言:javascript
复制
master_df.loc[(-3, ), :] 

通常情况下,对于该级别,我会以某种形式的类型不匹配结束。0级索引是一个日期时间,但我已经对其进行了排序,并希望访问一个数字范围。我的切片应该包含最近的X天,其中包含所有相关的资产和数据。

下面是另一次失败的尝试,试图获得所有第二个索引和所有列最近的10个索引。它失败的原因是“无法用这些int类的索引器在类DatetimeIndex上执行切片索引”

代码语言:javascript
复制
idx = pd.IndexSlice
master_df.loc[idx[-10:,:], :]

谢谢你的建议!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-03 15:49:20

解决了

您可以对索引进行排序,然后以数组的形式返回值并将其切片,并将其放入.loc切片器中。下面是一个有用的例子:

代码语言:javascript
复制
def get_slice(slicer, df):
    vals = df.index.levels[0][-slicer:]
    return df.loc[pd.IndexSlice[vals,:], :].copy()

这将第一个索引分割为n(从末尾开始),返回数组中的具体值,然后将其输入到.loc中,后者将接受一个值数组。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52152067

复制
相关文章

相似问题

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