【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を受け取る使い方が推奨されます。
-
Python・Pandas DataFrameでCSV読み込み時に列名を明示的に指定する方法
PandasでCSVファイルを読み込む際、元のファイルにヘッダー(列名)が含まれていないケースはよくあります。そのような場合、read_csv()メソッドのnamesパラメータを使えば、列名を明示的に指定できます。この記事では、具体的な手順をサンプルコードと実行結果とともに解説します。 namesパラメータによる列名の指定 read_csv()メソッドのnamesパラメータに列名のリストを渡すことで、ヘッダーを持たないCSVファイルに任意の列名を割り当てられます。例として、Microsoft Excelで開いた次のようなヘッダーなしのCSVファイルを想定します。 このファイルを読み込む
-
【Python】Pandas DataFrameからサブセット(列の一部)を選択する方法
Pandas DataFrameのサブセット選択とは? Pandasでは、DataFrameから必要な列や行だけを取り出す操作を「サブセットの選択」と呼びます。大きなデータセットから目的のデータだけを抽出できれば、分析や前処理の効率が大幅に向上します。 この記事では、CSVファイルを読み込んだDataFrameから、1つの列、および複数の列を選択する基本的な方法を解説します。 使用するCSVファイルの内容 今回使用する「SalesData.csv」は、Microsoft Excelで開くと以下のような内容になっています。 CSVファイルからDataFrameを作成する まず、pd.rea