Pandas で特定の DataFrame 列の名前を変更する

Fariba Laiq 2024年2月15日
  1. rename() メソッドを使用して Pandas の DataFrame 列の名前を変更する
  2. rename() メソッドを使用して、Pandas で複数の DataFrame 列の名前を変更する
  3. Lambda 関数を使用して Pandas の DataFrame 列の名前を変更する
  4. set_axis() 関数を使用して Pandas の DataFrame 列の名前を変更する
  5. columns.str.replace() 関数を使用して、Pandas の列名の特定のテキストを置き換えます
  6. Pandas の列名の更新されたリストを渡して列の名前を変更する
Pandas で特定の DataFrame 列の名前を変更する

Python でデータが行と列に格納される長方形のグリッドは、Pandas データフレームとして知られています。 各行は 1つのインスタンスの測定値を表し、各列は 1つの属性または変数のデータ ベクトルです。

データフレーム行には、特定の行全体で同種または異種のデータを含めることができますが、各データフレーム列には、特定の列全体で同種のデータが含まれます。 2 次元配列とは異なり、Pandas のデータフレームにはラベルが付いた軸があります。

rename() メソッドを使用して Pandas の DataFrame 列の名前を変更する

rename() メソッドを使用して、Pandas データフレームの列とインデックスの名前を変更できます。 わかりやすくするために、キーワード引数を使用することをお勧めします。

ディクショナリの値に応じて、このメソッドを使用して単一の列または多数の列の名前を変更できます。

コード例:

import pandas as pd

d1 = {"Names": ["Harry", "Petter", "Daniel", "Ron"], "ID": [1, 2, 3, 4]}
df = pd.DataFrame(d1)
display(df)
# rename columns
df1 = df.rename(columns={"Names": "Student Names"})
display("After renaming the columns:", df1)

出力:

Pandas Rename Method Using Rename Method

rename() メソッドを使用して、Pandas で複数の DataFrame 列の名前を変更する

以下の例では、一度に複数の列の名前を変更できることが示されています。 id 列の名前が Roll No に変更され、Student NamesNames に置き換わります。

コード例:

import pandas as pd

df1 = pd.DataFrame(
    {"id": ["ID1", "ID2", "ID3", "ID4"], "Names": ["Harry", "Petter", "Daniel", "Ron"]}
)
display(df1)
df = pd.DataFrame(df1)
df1.rename({"id": "Roll No", "Names": "Student Names"}, axis="columns", inplace=True)
display(df1)

出力:

パンダは名前変更メソッドを使用して複数の列の名前を変更します

Lambda 関数を使用して Pandas の DataFrame 列の名前を変更する

ラムダ関数は、1つの式のみをサポートするが、無制限の数の引数を受け入れる単純な無名関数です。 すべての列を同時に変更する必要がある場合は、これを利用できます。

複数の列があり、リストや辞書を使用して名前を変更するのが難しい場合に役立ちます。 以下の例では、ラムダ関数を使用してすべての列名の末尾にコロン (:) を追加しています。

コード例:

import pandas as pd

df1 = pd.DataFrame(
    {"id": ["ID1", "ID2", "ID3", "ID4"], "Names": ["Harry", "Petter", "Daniel", "Ron"]}
)
display(df1)
frames = [df1, df2]
df = df1.rename(columns=lambda x: "Student " + x)
display(df)

出力:

Pandas Rename Columns Using Lambda

set_axis() 関数を使用して Pandas の DataFrame 列の名前を変更する

以下の例では、set_axis() メソッドを使用して列の名前を変更します。 引数として、新しい列名と名前を変更する必要がある軸を指定します。

import pandas as pd

df1 = pd.DataFrame(
    {"id": ["ID1", "ID2", "ID3", "ID4"], "Names": ["Harry", "Petter", "Daniel", "Ron"]}
)
display(df1)
df1.set_axis(["A", "B"], axis="columns", inplace=True)
display(df1)

出力:

Pandas Rename Columns Using Set_Axis

columns.str.replace() 関数を使用して、Pandas の列名の特定のテキストを置き換えます

この例では、replace() 関数を使用して列の名前を変更します。 列の引数として、古い名前と新しい名前を指定します。

import pandas as pd

df1 = pd.DataFrame(
    {
        "id": ["ID1", "ID2", "ID3", "ID4"],
        "Names": ["Harry", "Petter", "Daniel", "Ron"],
        "Department": ["English", "Science", "General Knowledge", "Arts"],
    }
)
display(df1)
df1.set_axis(["A", "B", "C"], axis="columns", inplace=True)
df1.columns = df1.columns.str.replace("Id", "Rollno")
df1.columns = df1.columns.str.replace("Names", "Students")
df1.columns = df1.columns.str.replace("Department", "Program")
df1.head()
display(df1)

出力:

Pandas Rename Columns Using Str Replace

Pandas の列名の更新されたリストを渡して列の名前を変更する

Dataframe オブジェクトの columns プロパティに新しい名前を持つリストを設定して、列の名前を直接変更することによって、列を変更することもできます。 このアプローチの欠点は、列の一部のみの名前を変更したい場合でも、すべての列に名前を付けなければならないことです。

コード例:

import pandas as pd

df1 = pd.DataFrame(
    {
        "id": ["ID1", "ID2", "ID3", "ID4"],
        "Names": ["Harry", "Petter", "Daniel", "Ron"],
        "Department": ["English", "Science", "General Knowledge", "Arts"],
    }
)
display(df1)
df1.columns = ["Rollno", "Students", "Program"]
display(df1)

出力:

Pandas Rename Columns by Passing Updated List

著者: Fariba Laiq
Fariba Laiq avatar Fariba Laiq avatar

I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.

LinkedIn

関連記事 - Pandas DataFrame Column