Pandas DataFrame の各列名にプレフィックスを追加するには:

df = df.add_prefix('my_prefix')

Pandas DataFrame の各列名にプレフィックスを追加する手順

ステップ1: DataFrameを作成する

簡単な例から始めるために、次の 3 つの列を持つデータセットがあるとします。

ProductPriceDiscount
ABC750Yes
DDD430No
XYZ980No
AAA250Yes
CCC620No

次のようにして DataFrame を作成できます。

import pandas as pd

data = {'Product': ['ABC', 'DDD', 'XYZ', 'AAA', 'CCC'],
        'Price': [750, 430, 980, 250, 620],
        'Discount': ['Yes', 'No', 'No', 'Yes', 'No']
        }

df = pd.DataFrame(data)

print(df)

Python でコードを実行すると、次の DataFrame が得られます。

Pandas DataFrame の各列名にプレフィックスを追加する 1

ステップ2: Pandas DataFrameの各列名にプレフィックスを追加する

上記の DataFrame の各列名に ‘Sold_’ というプレフィックスを追加するとします。

その場合、プレフィックスを追加するには次の構文を適用する必要があります。

df = df.add_prefix('Sold_')

したがって、この例では、完全な Python コードは次のようになります。

import pandas as pd

data = {'Product': ['ABC', 'DDD', 'XYZ', 'AAA', 'CCC'],
        'Price': [750, 430, 980, 250, 620],
        'Discount': ['Yes', 'No', 'No', 'Yes', 'No']
        }

df = pd.DataFrame(data)

df = df.add_prefix('Sold_')

print(df)

ご覧のとおり、各列に「Sold_」というプレフィックスが追加されました。

Pandas DataFrame の各列名にプレフィックスを追加する 2

ステップ3: Pandas DataFrameの1つの列名にのみプレフィックスを追加する

しかし、単一の列 (または列のサブセット) にプレフィックスを追加したい場合はどうすればよいでしょうか?

その場合は、代わりに名前変更を使用することを検討してください。

例えば、「Price」列にのみプレフィックス(「Sold_」)を追加したいとします。以下のPythonコードで実行できます。

import pandas as pd

data = {'Product': ['ABC', 'DDD', 'XYZ', 'AAA', 'CCC'],
        'Price': [750, 430, 980, 250, 620],
        'Discount': ['Yes', 'No', 'No', 'Yes', 'No']
        }

df = pd.DataFrame(data)

df = df.rename(columns={'Price': 'Sold_Price'})

print(df)

「Sold_」プレフィックスが「Price」列にのみ追加されたことがわかります。

結果:

Pandas DataFrame の各列名にプレフィックスを追加する 3