Pandas を使用してインデックスで列の名前を変更する

Pulamolu Sai Mohan 2023年6月21日
  1. Pandas で rename() 関数を使用する
  2. Pandas で DataFrame.column.values を使用する
Pandas を使用してインデックスで列の名前を変更する

DataFrame は 2D ラベル付きデータ構造です。 これは、サイズが可変で異種のデータ構造です。 DataFrame には、行と列と呼ばれるラベル付きの軸が含まれています。

このチュートリアルでは、Pandas を使用してインデックスによって DataFrame の列の名前を変更するさまざまな方法に取り組みます。

Pandas で rename() 関数を使用する

Pandas ライブラリは、DataFrame の列の名前を変更するために使用される rename() 関数を提供します。 rename() 関数はマッパーパラメーターを取ります。

マッパーは辞書のようなデータ構造であり、データフレームを返す値として名前変更列をキーとして含み、名前を含みます。 インプレース変更は、inplace = True を設定することで実行できます。

構文:

pandas.rename(mapper)

このチュートリアルの例では、rename() メソッドを使用しましょう。 まず、以下の手順に従ってください。

  1. pandas ライブラリをインポートします。
  2. Mapper を rename() メソッドに渡します。
  3. rename() メソッドは、その列の名前が変更されたデータ フレームを返します。
  4. DataFrame を印刷します。

次のコードは、上記のアプローチの実装です。

コード:

# importing pandas library
import pandas as pd

# creating a dataframe
df = pd.DataFrame(
    {
        "course": ["C", "Python", "Java"],
        "instructor": ["alex", "alice", "john"],
        "cost": [1000, 2000, 3000],
    }
)

# Dataframe before renaming
print("\n Before Renaming")
print(df)

# renaming the column by index
df = df.rename(columns={df.columns[2]: "price"})

# Dataframe after renaming
print("\n After Renaming")
print(df)

出力:

名前を変更する前に:

コース メンター 料金
アレックス 1000
パイソン アリス 2000年
ジャワ ジョン 3000

名前の変更後:

コース メンター 価格
アレックス 1000
パイソン アリス 2000年
ジャワ ジョン 3000

Pandas で DataFrame.column.values を使用する

DataFrame.column.values はすべての列名を返し、インデックスを使用して列名を変更できます。 column.values はインデックスの配列を返します。

次のアプローチは、この次の例のコードの実装です。

  1. pandas ライブラリをインポートします。
  2. DataFrame.column.values を使用して列名の配列を取得します。
  3. インデックスを渡して列の名前を変更します。
  4. DataFrame を印刷します。

コード:

# importing pandas library
import pandas as pd

# creating a dataframe
df = pd.DataFrame(
    {
        "course": ["C", "Python", "Java"],
        "instructor": ["alex", "alice", "john"],
        "cost": [1000, 2000, 3000],
    }
)

# Dataframe before renaming
print("\n Before Renaming")
print(df)

# renaming the column by index
df.columns.values[2] = "price"

# Dataframe after renaming
print("\n After Renaming")
print(df)

出力:

名前を変更する前に:

コース メンター 料金
アレックス 1000
パイソン アリス 2000年
ジャワ ジョン 3000

名前の変更後:

コース メンター 価格
アレックス 1000
パイソン アリス 2000年
ジャワ ジョン 3000

関連記事 - Pandas DataFrame