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

Pandasで列名を変更する方法:初心者向け完全ガイド

PythonのPandasデータフレームで列名を変更したいと思ったことはありませんか?はい、可能です。rename()メソッドを使えば個別の列をリネームでき、columns属性に新しい列名のリストを代入すれば、データフレーム全体の列見出しを一括で変更できます。

このガイドでは、Pandasデータフレームで単一の列名、複数の列名を変更する方法を解説します。具体的なコード例を通じて、これらのテクニックの使い方をマスターしましょう。

Pandasで単一の列名を変更する方法

Pandasのデータフレームは、データを格納するための表形式の構造です。データは行と列で構成され、各軸にはそれぞれラベルが割り当てられています。

単一の列名を変更するには、rename()関数を使用します。このメソッドは、新しい列を作り直すことなく、既存の列見出しだけを修正できるため非常に便利です。

まず、Pandasデータフレームのオブジェクトを見てみましょう。

import pandas as pd

books = {
	"name": ["The Great Gatsby", "To Kill a Mockingbird", "The Count of Monte Cristo"],
	"author": ["F. Scott Fitzgerald", "Harper Lee", "Alexandre Dumas"],
	"sold": [42, 53, 39]
}

books_frame = pd.DataFrame(books)

「name」「author」「sold」が列見出しです。このデータフレームには3つの列と3つの行が含まれています。データフレームをコンソールに出力して確認してみましょう。

print(books_frame)

実行すると、次のようなデータフレームが表示されます。

nameauthorsold
0The Great GatsbyF. Scott Fitzgerald42
1To Kill a MockingbirdHarper Lee53
2The Count of Monte CristoAlexandre Dumas39

次に、「sold」列を「copies sold」に変更してみましょう。rename()メソッドを使えば、次のように実現できます。

books_frame.rename(columns = {"sold": "copies sold"}, inplace=True)

rename()メソッドには「columns」というパラメータを指定します。このパラメータには、変更したい列名を辞書形式で渡します。

辞書のキーである「sold」は変更前の列名、値である「copies sold」は変更後の新しい列名を表します。

コードを実行して、列名のリストをコンソールに出力してみましょう。

books_frame.rename(columns = {"sold": "copies sold"}, inplace=True)
print(books_frame.columns)

実行結果は次のとおりです。

Index(['name', 'author', 'copies sold'], dtype='object')

「sold」列が「copies sold」に変更されました。

Pandasで複数の列名を変更する方法

複数の列名を変更する場合も、rename()メソッドを使用します。「columns」パラメータに渡す辞書に、複数の列名のペアを指定するだけです。

例として、「name」を「Book Name」に、「sold」を「Copies Sold」に変更してみましょう。

books_frame.rename(columns={
"name": "Book Name",
"sold": "Copies Sold"
}, inplace=True)
print(books_frame.columns)

rename()メソッドにより、指定した列名が変更されます。実行結果は次のとおりです。

Index(['Book Name', 'author', 'Copies Sold'], dtype='object')

「name」と「sold」が変更され、「author」はそのまま維持されています。このように、rename()メソッドを使えば、変更したい列だけを選択的にリネームできます。

Pandasですべての列名を変更する方法

データフレームのすべての列名を変更するには、「columns」属性に新しい列見出しのリストを代入します。この方法は、表内のすべての列名を一括で変更したい場合にのみ有効です。一部の列名だけを変更したい場合には使えません。

先ほどの例の列見出しを、次のように一括で変更してみましょう。

  • 「name」→「Book Title」
  • 「author」→「Author Name」
  • 「copies sold」→「Number of Copies Sold」

まず新しい列名のリストを作成し、それを「columns」属性に代入します。

books_frame.columns = ["Book Title", "Author Name", "Number of Copies Sold"]
print(books_frame.columns)

実行結果は次のとおりです。

Index(['Book Title', 'Author Name', 'Number of Copies Sold'], dtype='object')

すべての列名が新しい名前に変更されました。

まとめ

rename()メソッドを使えば、Pandasのデータフレームで1つまたは複数の列名を簡単に変更できます。また、すべての列名を変更したい場合は、「columns」属性に新しいリストを代入するだけでOKです。

これで、あなたもプロのようにPandasで列名を変更できるようになりました!

  1. Python・Pandasで列ごとに階層化した箱ひげ図を作成する方法

    PythonとPandas、Matplotlibを組み合わせることで、データを列の値ごとに階層化(グループ化)した箱ひげ図(ボックスプロット)を簡単に作成できます。この記事では、その具体的な手順をコード例とともに解説します。作成手順図のサイズを設定し、サブプロット間および周囲のパディングを調整します。2次元でサイズ変更可能、かつ異なる型のデータも格納できる表形式データから、Pandasデータフレームを作成します。データセットのヒストグラムを計算します。列ごとに階層化された箱ひげ図を作成します。図を表示するには、show()メソッドを使用します。コード例import pandas as pd i

  2. 【Pandas】CSVファイルの列名をインデックス番号で変更する方法

    Pandasのcolumns.values()でCSVの列名を変更するPythonのデータ分析ライブラリ「Pandas」では、columns.values()を使うことで、CSVファイルの列名をインデックス番号で指定して簡単に変更できます。ここでは、Microsoft Excelで開いた次のようなCSVファイル(SalesData.csv)を例に、具体的な手順を解説します。元のCSVファイルには「Car」「Reg_Price」「Units」という3つの列があります。これらをそれぞれ新しい列名に変更していきましょう。手順1:CSVファイルをDataFrameに読み込むまず、read_csv()メ