Pandas の DataFrame インデックス名の取得と設定

Suraj Joshi 2023年1月30日
  1. DataFrame のインデックスカラムの名前を取得する
  2. name 属性を設定して DataFrame のインデックスカラム名を設定する
  3. rename_axis() メソッドを用いて DataFrame のインデックス列の名前を設定する
Pandas の DataFrame インデックス名の取得と設定

このチュートリアルでは、Pandas DataFrame のインデックスカラムの名前を設定して取得する方法を説明します。この記事では以下の例の DataFrame を使用します。

import pandas as pd

my_df = pd.DataFrame(
    {
        "Applicant": ["Ratan", "Anil", "Mukesh", "Kamal"],
        "Hometown": ["Delhi", "Pune", "Dhangadi", "Kolkata"],
        "Score": [85, 87, 90, 89],
    },
    index=["2021-01-03", "2021-01-04", "2021-01-05", "2021-01-06"],
)

print(my_df)

出力:

           Applicant  Hometown  Score
2021-01-03     Ratan     Delhi     85
2021-01-04      Anil      Pune     87
2021-01-05    Mukesh  Dhangadi     90
2021-01-06     Kamal   Kolkata     89

DataFrame のインデックスカラムの名前を取得する

インデックスカラムの name 属性を利用して、DataFrame のインデックスカラムの名前を取得することができます。

import pandas as pd

my_df = pd.DataFrame(
    {
        "Applicant": ["Ratan", "Anil", "Mukesh", "Kamal"],
        "Hometown": ["Delhi", "Pune", "Dhangadi", "Kolkata"],
        "Score": [85, 87, 90, 89],
    },
    index=["2021-01-03", "2021-01-04", "2021-01-05", "2021-01-06"],
)

print("The DataFrame is:")
print(my_df, "\n")

print("Name of Index Column of the DataFrame is:")
print(my_df.index.name)

出力:

The DataFrame is:
           Applicant  Hometown  Score
2021-01-03     Ratan     Delhi     85
2021-01-04      Anil      Pune     87
2021-01-05    Mukesh  Dhangadi     90
2021-01-06     Kamal   Kolkata     89

Name of Index Column of the DataFrame is:
None

my_df DataFrame にインデックスカラムの名前を設定していないので、my_df DataFrame のインデックスカラムの名前を None として取得します。

name 属性を設定して DataFrame のインデックスカラム名を設定する

DataFrame のインデックスカラムの名前を設定するために、DataFrame の indexname 属性の値を設定できます。

import pandas as pd

my_df = pd.DataFrame(
    {
        "Applicant": ["Ratan", "Anil", "Mukesh", "Kamal"],
        "Hometown": ["Delhi", "Pune", "Dhangadi", "Kolkata"],
        "Score": [85, 87, 90, 89],
    },
    index=["2021-01-03", "2021-01-04", "2021-01-05", "2021-01-06"],
)

print("Initial DataFrame:")
print(my_df, "\n")

my_df.index.name = "Date"

print("DataFrame after setting the name of Index Column:")
print(my_df, "\n")

print("Name of Index Column of the DataFrame is:")
print(my_df.index.name)

出力:

Initial DataFrame:
           Applicant  Hometown  Score
2021-01-03     Ratan     Delhi     85
2021-01-04      Anil      Pune     87
2021-01-05    Mukesh  Dhangadi     90
2021-01-06     Kamal   Kolkata     89

DataFrame after setting the name of Index Column:
           Applicant  Hometown  Score
Date
2021-01-03     Ratan     Delhi     85
2021-01-04      Anil      Pune     87
2021-01-05    Mukesh  Dhangadi     90
2021-01-06     Kamal   Kolkata     89

Name of Index Column of the DataFrame is:
Date

my_dfindex の名前を Date に設定します。

rename_axis() メソッドを用いて DataFrame のインデックス列の名前を設定する

インデックスカラムの名前を rename_axis() メソッドの引数に渡すことで、DataFrame のインデックスカラムの名前を設定することができます。

import pandas as pd

my_df = pd.DataFrame(
    {
        "Applicant": ["Ratan", "Anil", "Mukesh", "Kamal"],
        "Hometown": ["Delhi", "Pune", "Dhangadi", "Kolkata"],
        "Score": [85, 87, 90, 89],
    },
    index=["2021-01-03", "2021-01-04", "2021-01-05", "2021-01-06"],
)

print("Initial DataFrame:")
print(my_df, "\n")

my_df = my_df.rename_axis("Date")

print("DataFrame after setting the name of Index Column:")
print(my_df, "\n")

print("Name of Index Column of the DataFrame is:")
print(my_df.index.name)

出力:

Initial DataFrame:
           Applicant  Hometown  Score
2021-01-03     Ratan     Delhi     85
2021-01-04      Anil      Pune     87
2021-01-05    Mukesh  Dhangadi     90
2021-01-06     Kamal   Kolkata     89

DataFrame after setting the name of Index Column:
           Applicant  Hometown  Score
Date
2021-01-03     Ratan     Delhi     85
2021-01-04      Anil      Pune     87
2021-01-05    Mukesh  Dhangadi     90
2021-01-06     Kamal   Kolkata     89

Name of Index Column of the DataFrame is:
Date

rename_axis() メソッドを使用して、DataFrame my_dfindex カラムの名前を Date に設定します。

著者: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

関連記事 - Pandas Index