切片多索引行“无法执行标签索引”

2024-07-01 07:06:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含两级multindex行的数据帧。的级别是类型:<class 'pandas.tseries.index.DatetimeIndex'><class 'pandas.indexes.numeric.Int64Index'>

                                 px_settlement contract_code
assessment_date contract_serial                             
2014-01-02      201402                  18.640           g14
                201403                  17.530           h14
                201404                  16.600           j14
                201405                  15.900           k14
                201406                  16.100           m14
                201407                  16.200           n14
                201408                  15.210           q14
                201409                  15.210           u14
                201410                  15.210           v14
                201411                  15.210           x14

例如,我试图获取“所有行,其中contract_serial=201410”的一部分。在

我试过.loc的几个变体

^{pr2}$

还有

jkm_df.loc[(:, 201506), :]
            ^
SyntaxError: invalid syntax

通过评估日期或合同序列选择多重指标的正确方法是什么?在


Tags: 数据类型pandasindexserial级别locclass
2条回答

xs适合检索标量值。另一个解决方案(提供稍大的灵活性)是使用pd.IndexSlice+loc。在

idx = pd.IndexSlice
df.loc[idx[:, 201410], :]

                                 px_settlement contract_code
assessment_date contract_serial                             
2014-01-02      201406                    16.1           m14

使用^{}

print (jkm_df.xs(201406, level=1))
                 px_settlement contract_code
assessment_date                             
2014-01-02                16.1           m14

如果需要,两个级别都使用参数drop_level=False

^{pr2}$

^{}的解决方案:

print (jkm_df.loc(axis=0)[:, 201406])
                                 px_settlement contract_code
assessment_date contract_serial                             
2014-01-02      201406                    16.1           m14

另一个带有slicers的解决方案:

print (jkm_df.loc[(slice(None), 201406), :])
                                 px_settlement contract_code
assessment_date contract_serial                             
2014-01-02      201406                    16.1           m14

相关问题 更多 >

    热门问题