• home
  • about
  • 全ての投稿
  • ソフトウェア・ハードウェアの設定のまとめ
  • 分析関連のまとめ
  • ヘルスケア関連のまとめ
  • 生涯学習関連のまとめ

pandas multi level columns

date: 2023-02-16 excerpt: pandasのmulti level columnsの使い方

tag: pythonpandasmulti level columnsチートシート


pandasのmulti level columnsの使い方

概要

  • aggregateした場合、transpose した場合などにカラム名がmulti levelになることがある
  • multi level columnsはタプルを指定することで列にアクセスできる
  • get_level_values を使うことで、特定のレベルの値を取得できる

具体例

マルチレベルカラムの作成

import pandas as pd

df = pd.DataFrame([[1, 2, 3, 4], [5, 6, 7, 8]], 
                  columns=[['A', 'A', 'B', 'B'], ['a', 'b', 'c', 'd']])
display(df)
"""
|    |   ('A', 'a') |   ('A', 'b') |   ('B', 'c') |   ('B', 'd') |
|---:|-------------:|-------------:|-------------:|-------------:|
|  0 |            1 |            2 |            3 |            4 |
|  1 |            5 |            6 |            7 |            8 |
"""

レベル1のカラムを取得

df.columns = df.columns.get_level_values(1)
display(df)
"""
|    |   a |   b |   c |   d |
|---:|----:|----:|----:|----:|
|  0 |   1 |   2 |   3 |   4 |
|  1 |   5 |   6 |   7 |   8 |
"""

Google Colab

  • pandas-multilevel-columns

参考

  • Pandas: Multilevel column names/stackoverflow


pythonpandasmulti level columnsチートシート Share Tweet