【Python・Pandas】DataFrameの複数の列名を辞書で一括変更する方法
Pandasのrename()メソッドで複数の列ヘッダーを一括リネームする
PandasのDataFrameで複数の列ヘッダー(列名)を一度に変更したい場合は、rename()メソッドを使用し、columnsパラメータに辞書を指定します。辞書は「キー=現在の列名」「値=新しい列名」というペアで構成します。この方法なら、個別に代入するよりも簡潔で可読性の高いコードになります。
手順1:サンプルDataFrameを作成する
まず、動作確認用のサンプルDataFrameを作成しましょう。
import pandas as pd
# サンプルDataFrameの作成
dataFrame = pd.DataFrame({
"Car": ['BMW', 'Mustang', 'Tesla', 'Mustang', 'Mercedes', 'Tesla', 'Audi'],
"Cubic Capacity": [2000, 1800, 1500, 2500, 2200, 3000, 2000],
"Reg Price": [7000, 1500, 5000, 8000, 9000, 6000, 1500],
"Units Sold": [200, 120, 150, 120, 210, 250, 220]
})手順2:列名変更用の辞書を作成する
次に、旧列名と新列名を対応させた辞書を定義します。すべての列を変更する必要はなく、変更したい列だけを辞書に含めればOKです。
# キー=旧列名、値=新列名 の辞書
dictionary = {
'Car': 'Car Name',
'Cubic Capacity': 'CC',
'Reg Price': 'Registration Price',
'Units Sold': 'Units Purchased'
}手順3:rename()メソッドで列名を変更する
rename()メソッドのcolumnsパラメータに辞書を渡します。inplace=Trueを指定すると、元のDataFrameが直接更新されます。
dataFrame.rename(columns=dictionary, inplace=True)
完全なコード例
以下に、ここまでの手順をまとめた実行可能なコード全体を示します。
import pandas as pd
# サンプルDataFrameの作成
dataFrame = pd.DataFrame({
"Car": ['BMW', 'Mustang', 'Tesla', 'Mustang', 'Mercedes', 'Tesla', 'Audi'],
"Cubic Capacity": [2000, 1800, 1500, 2500, 2200, 3000, 2000],
"Reg Price": [7000, 1500, 5000, 8000, 9000, 6000, 1500],
"Units Sold": [200, 120, 150, 120, 210, 250, 220]
})
print("元のDataFrame:\n", dataFrame)
# 列名変更用の辞書(キー=旧列名、値=新列名)
dictionary = {
'Car': 'Car Name',
'Cubic Capacity': 'CC',
'Reg Price': 'Registration Price',
'Units Sold': 'Units Purchased'
}
# rename()メソッドで辞書をcolumnsパラメータに設定して一括変更
dataFrame.rename(columns=dictionary, inplace=True)
print("\n列名変更後のDataFrame:\n", dataFrame)実行結果(出力)
上記のコードを実行すると、次のような出力が得られます。すべての列ヘッダーが新しい名前に置き換わっていることが確認できます。
元のDataFrame:
Car Cubic Capacity Reg Price Units Sold
0 BMW 2000 7000 200
1 Mustang 1800 1500 120
2 Tesla 1500 5000 150
3 Mustang 2500 8000 120
4 Mercedes 2200 9000 210
5 Tesla 3000 6000 250
6 Audi 2000 1500 220
列名変更後のDataFrame:
Car Name CC Registration Price Units Purchased
0 BMW 2000 7000 200
1 Mustang 1800 1500 120
2 Tesla 1500 5000 150
3 Mustang 2500 8000 120
4 Mercedes 2200 9000 210
5 Tesla 3000 6000 250
6 Audi 2000 1500 220覚えておくと便利なポイント
- inplace=True:元のDataFrame自体を直接書き換えます。省略した場合(デフォルト)は変更後の新しいDataFrameが返されるため、
df = df.rename(columns=dictionary)のように受け取る必要があります。 - 一部だけ変更可能:辞書に含めた列のみが変更され、他の列名はそのまま維持されます。
- errors='raise':存在しない列名をキーに指定してもデフォルトでは無視されますが、
dataFrame.rename(columns=dictionary, errors='raise')とすれば、誤った列名を検知してエラーにできます。
-
Python Pandasでデータフレームの列の値をX軸ラベルとして設定する方法
PythonのPandasでデータフレームの列の値をX軸ラベルとして設定するには、plot()メソッドの引数にxticksを指定します。これにより、データの値をそのまま目盛りラベルとして表示できるため、グラフがより読みやすくなります。手順図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。Pandasを使って、column1というキーを持つデータフレームを作成します。plot()メソッドでデータフレームをプロットし、column1の値をX軸ラベルとして指定します。図を表示するには、show()メソッドを使用します。コード例import pandas as pd fro
-
Pythonでデータフレームの列を削除する方法をわかりやすく解説
データフレームとはデータフレーム(DataFrame)とは、行と列という表形式でデータを格納する二次元データ構造です。SQLのデータテーブルやExcelのシートと同じようなイメージで捉えることができます。データフレームから特定の列を削除するには、いくつかの方法があります。本記事では、削除したい列名を引数として受け取り、その列を削除する「del」演算子の使い方を紹介します。サンプルコードimport pandas as pd my_data = {ab : pd.Series([1, 8, 7], index=[a, b, c]), cd : pd.Series([1, 2, 0, 9], in