この質問は、マルチインデックスの文脈でどのようなレキシソートが行われているかを理解するのに役立ちます。(KeyError):MultiIndexスライスでは、インデックスが完全にレクソートされたタプルである必要があります...なぜこれはリストによって引き起こされますが、タプルではありませんか?
は、私はいくつかのMultiIndexedデータフレームDFを持っており、インデックスのために私が使用したいと言う:
a = (1, 1, 1)
だから私は書くデータフレームから値を引っ張って:
df.loc[a, df.columns[i]]
働きます。しかし、次はしていません:
私にエラーを与えるdf.loc[list(a), df.columns[i]]
:
*** KeyError: 'MultiIndex Slicing requires the index to be fully lexsorted tuple len (1), lexsort depth (0)'
これはなぜでしょうか?
また、別の質問として、次のパフォーマンス警告はどういう意味ですか?
PerformanceWarning: indexing past lexsort depth may impact performance.