Python
 Computer >> コンピューター >  >> プログラミング >> Python

【Python・Pandas】DataFrameの列名を変更する方法 – rename()メソッドの使い方

PandasのDataFrameで列名(カラム名)を変更するには、rename()メソッドを使用します。rename()メソッドのcolumnsパラメータに、「変更前の列名: 変更後の列名」のペアを辞書形式で指定することで、任意の列名を簡単に変更できます。

例えば、「Car」列を「Car Name」という名前に変更したい場合は、以下のように記述します。

dataFrame.rename(columns={'Car': 'Car Name'}, inplace=False)

基本的な流れ

まず、CSVファイルを読み込んでDataFrameを作成します。

dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\SalesRecords.csv")

次に、列名を変更します。ここでは、「Car」「Date_of_Purchase」「Reg_Price」の3つの列を、それぞれ「Car Name」「Sold On」「Booking Price」に一括で変更しています。

dataFrame = dataFrame.rename(columns={'Car': 'Car Name', 'Date_of_Purchase': 'Sold On', 'Reg_Price' : 'Booking Price'}, inplace=False)

このように、複数の列名も1回の呼び出しでまとめて変更できるのがrename()メソッドの便利な点です。

コード例

以下は、実際に動作するサンプルコードです。

import pandas as pd

# CSVファイルを読み込む
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\SalesRecords.csv")
print("DataFrame...\n",dataFrame)

# DataFrameの行数と列数を確認
print("\nNumber of rows and column in our DataFrame = ",dataFrame.shape)

# 列名を変更する
dataFrame = dataFrame.rename(columns={'Car': 'Car Name', 'Date_of_Purchase': 'Sold On', 'Reg_Price' : 'Booking Price'}, inplace=False)
print("\nDataFrame with updated Column Name ...\n",dataFrame)

実行結果

上記のコードを実行すると、以下のような出力が得られます。

DataFrame...
        Car   Date_of_Purchase   Reg_Price
0       BMW        10/10/2020         1000
1      Lexus        10/12/2020          750
2       Audi        10/17/2020          750
3     Jaguar        10/16/2020         1500
4    Mustang        10/19/2020         1100
5 Lamborghini        10/22/2020         1000

Number of rows and column in our DataFrame = (6, 3)

DataFrame with updated Column Name ...
    Car Name     Sold On   Booking Price
0       BMW  10/10/2020            1000
1      Lexus  10/12/2020             750
2       Audi  10/17/2020             750
3     Jaguar  10/16/2020            1500
4    Mustang  10/19/2020            1100
5 Lamborghini  10/22/2020            1000

補足: inplace引数について

rename()メソッドにはinplace引数があります。

  • inplace=False(デフォルト): 列名を変更した新しいDataFrameを返します。元のDataFrameは変更されません。
  • inplace=True: 元のDataFrame自体を直接書き換えます。この場合、戻り値はNoneになるため、代入は不要です。

意図しないデータの書き換えを防ぐため、デフォルトのinplace=Falseで新しいDataFrameを受け取る使い方が推奨されます。

  1. Python・Pandas DataFrameでCSV読み込み時に列名を明示的に指定する方法

    PandasでCSVファイルを読み込む際、元のファイルにヘッダー(列名)が含まれていないケースはよくあります。そのような場合、read_csv()メソッドのnamesパラメータを使えば、列名を明示的に指定できます。この記事では、具体的な手順をサンプルコードと実行結果とともに解説します。 namesパラメータによる列名の指定 read_csv()メソッドのnamesパラメータに列名のリストを渡すことで、ヘッダーを持たないCSVファイルに任意の列名を割り当てられます。例として、Microsoft Excelで開いた次のようなヘッダーなしのCSVファイルを想定します。 このファイルを読み込む

  2. 【Python】Pandas DataFrameからサブセット(列の一部)を選択する方法

    Pandas DataFrameのサブセット選択とは? Pandasでは、DataFrameから必要な列や行だけを取り出す操作を「サブセットの選択」と呼びます。大きなデータセットから目的のデータだけを抽出できれば、分析や前処理の効率が大幅に向上します。 この記事では、CSVファイルを読み込んだDataFrameから、1つの列、および複数の列を選択する基本的な方法を解説します。 使用するCSVファイルの内容 今回使用する「SalesData.csv」は、Microsoft Excelで開くと以下のような内容になっています。 CSVファイルからDataFrameを作成する まず、pd.rea