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

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

Pandasのcolumns.values()でCSVの列名を変更する

Pythonのデータ分析ライブラリ「Pandas」では、columns.values()を使うことで、CSVファイルの列名をインデックス番号で指定して簡単に変更できます。

ここでは、Microsoft Excelで開いた次のようなCSVファイル(SalesData.csv)を例に、具体的な手順を解説します。

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

元のCSVファイルには「Car」「Reg_Price」「Units」という3つの列があります。これらをそれぞれ新しい列名に変更していきましょう。

手順1:CSVファイルをDataFrameに読み込む

まず、read_csv()メソッドを使って、CSVファイルのデータをPandasのDataFrameに読み込みます。

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

手順2:現在の列名を確認する

columns属性を参照すると、CSVファイルに含まれるすべての列名を一覧表示できます。

dataFrame.columns

手順3:インデックス番号を指定して列名を変更する

columns.values[]にインデックス番号を指定し、新しい列名を代入します。インデックスは0から始まる点に注意してください。

dataFrame.columns.values[0] = "Car Names"
dataFrame.columns.values[1] = "Registration Cost"
dataFrame.columns.values[2] = "Units Sold"

サンプルコード全体

以下は、これまでの手順をまとめた完全なコードです。

import pandas as pd

# CSVファイルのデータをPandas DataFrameに読み込む:
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\SalesData.csv")
print("Reading the CSV file...\n",dataFrame)

# 列名を表示
res = dataFrame.columns
print("\nDisplaying column names : \n",res)

# インデックス番号を指定して列名を変更
dataFrame.columns.values[0] = "Car Names"
dataFrame.columns.values[1] = "Registration Cost"
dataFrame.columns.values[2] = "Units Sold"

print("\nDisplaying updated column names : \n",res)

実行結果

上記のコードを実行すると、次のような出力が得られます。変更後の列名が正しく反映されていることが確認できます。

Reading the CSV file...
        Car   Reg_Price Units
0       BMW       2500 100
1     Lexus       3500 80
2      Audi       2500 120
3    Jaguar       2000 70
4   Mustang       2500 110

Displaying column names :
Index(['Car','Reg_Price','Units'], dtype='object')

Displaying updated column names :
Index(['Car Names','Registration Cost','Units Sold'], dtype='object')

まとめ

Pandasではcolumns.values[インデックス番号]に新しい名前を代入するだけで、特定の列名を簡単に変更できます。列数が多いCSVファイルでも、インデックス番号を直接指定できるため、柔軟かつ効率的な列名の管理が可能です。

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

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

  2. Python・PandasでヘッダーなしのCSVファイルを読み込む方法

    CSVファイルをヘッダー(列名)なしで読み込むには、pandasのread_csv()メソッドでheaderパラメータに「None」を指定します。 ここでは、Microsoft Excelで開いた以下のようなCSVファイル(SalesData.csv)を例に解説します。1行目には「Car」「Reg_Price」「Units」というヘッダーが含まれています。 必要なライブラリのインポート まず、pandasライブラリをインポートします。 import pandas as pd 通常どおりCSVファイルを読み込む headerパラメータを指定せずにCSVファイルを読み込むと、先頭行が自動的にヘッダ