マルチインデックスデータフレームからレベルを削除するにはどうすればいいですか? 質問する

マルチインデックスデータフレームからレベルを削除するにはどうすればいいですか? 質問する

たとえば、次のようなものがあります:

In [1]: df = pd.DataFrame([8, 9],
                          index=pd.MultiIndex.from_tuples([(1, 1, 1),
                                                           (1, 3, 2)]),
                          columns=['A'])

In [2] df
Out[2]: 
       A
1 1 1  8
  3 2  9

インデックスから最後のレベルを削除するには、これよりも良い方法がありますか?

In [3]: pd.DataFrame(df.values,
                     index=df.index.droplevel(2),
                     columns=df.columns)
Out[3]: 
     A
1 1  8
  3  9

ベストアンサー1

df.reset_index(level=2, drop=True)
Out[29]: 
     A
1 1  8
  3  9

おすすめ記事