DataFrame
MultiIndex を持つ df があり、レベルが L であると仮定しましょう。
インデックスから L を削除して再度追加する方法はありますか?
df = df.index.drop('L')
DataFrame から L を完全に削除します ( df= df.reset_index()
drop 引数を持つものとは異なります)。もちろんできますdf = df.reset_index().set_index(everything_but_L, inplace=True)
。
ここで、インデックスに L 以外のすべてが含まれていると仮定して、L を追加したいとし
df.index.insert(0, df.L)
ます。機能しません。繰り返しますが、もちろん電話df= df.reset_index().set_index(everything_including_L, inplace=True)
することはできますが、気分が悪いです。
なぜこれが必要なのですか?インデックスは一意である必要はないため、インデックスを一意にするために新しい列を追加したい場合があります。削除は、データを分割した後、インデックスの 1 つのレベルに情報が含まれなくなった場合に役立ちます (たとえば、インデックスが A、B で、A=x の df を操作しているが、発生する A を失いたくない場合)。 index.droplevel('A')) を使用)。