私は2レベルのマルチインデックス行を持つデータフレームを持っています。 <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」のスライスを取得しようとしている:のレベルがタイプです。
私はassessment_dateまたはcontract_serialことで、このマルチインデックスを副選択する正しい方法は何ですか?jkm_df.loc[(:, 201506), :]
^
SyntaxError: invalid syntax
も.loc
jkm_df.loc[:, 201506]
TypeError: cannot do label indexing on <class 'pandas.indexes.base.Index'> with these indexers [201506] of <class 'int'>
のいくつかのバリエーションを試してみた
'idx = pd.IndexSlice; df.loc [idx [:, 201410]、:] ' –
@coldspeedすごい、早く、ありがとう! – user3556757