PandasのDataFrameは、Pythonにおけるデータ操作に不可欠です。列ヘッダー(列名とも呼ばれます)の管理はよくある作業です。この記事では、DataFrameのヘッダーを操作する様々な手法を解説し、DataFrameの作成からCSVファイルからのデータインポートまでを網羅します。
目次
ヘッダー付きDataFrameの作成
ヘッダーを追加する最も簡単な方法は、DataFrameの作成時に行うことです。リストや配列からDataFrameを構築する場合に最適です。
import pandas as pd
data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
columns = ['A', 'B', 'C']
df = pd.DataFrame(data, columns=columns)
print(df)
これにより、列名が直接割り当てられます。columns
引数を省略すると、デフォルトの数値インデックス(0, 1, 2…)が列名になります。
既存のヘッダーの変更
ヘッダーがないDataFrameやヘッダーの更新が必要なDataFrameの場合、columns
属性を変更します。
import pandas as pd
data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
df = pd.DataFrame(data) # ヘッダーのないDataFrame
df.columns = ['X', 'Y', 'Z']
print(df)
これにより、既存の列名が完全に置き換えられます。この方法は上書きであり、既存のヘッダーに追加するものではないことに注意してください。
CSVインポートの処理
read_csv()
関数は、ヘッダーの処理を制御できます。
import pandas as pd
# data.csv:
# 1,2,3
# 4,5,6
# 7,8,9
# CSVファイルにヘッダー行がない場合:
df = pd.read_csv('data.csv', header=None, names=['A', 'B', 'C'])
print(df)
# 最初の行がヘッダーの場合:
df2 = pd.read_csv('data.csv', header=0)
print(df2)
header=None
はヘッダー行がないことを示し、names
はカスタム列名を割り当てます。header=0
は最初の行がヘッダーであることを示します。
これらの手法は、様々なデータ構造やインポート方法に適応し、DataFrameのヘッダーを柔軟に管理できます。データとタスクに最適な方法を選択してください。