ヘッダー行を Pandas DataFrame に追加する方法

Asad Riaz 2023年1月30日
  1. DataFrame メソッドで直接渡して、header 行を追加する
  2. dataframe.columns を使用して header 行を追加する
  3. header は現在の header を置き換えずに追加する
  4. csv ファイルを読み取るときにヘッダー行を DataFrame に追加する
ヘッダー行を Pandas DataFrame に追加する方法

Pandas の DataFrame にヘッダー行を追加する方法と、namesDataFrame に直接渡すか、リストの列名を dataframe.columns メソッドに直接割り当てるなどのオプションを紹介します。

また、現在のヘッダーを置き換えることなく、Pandas の DataFrame ヘッダーを追加することも紹介します。言い換えれば、現在のヘッダーを下にシフトし、それを別のレコードとして DataFrame に追加するだけです。

また、csv ファイルの読み取り中にヘッダー行DataFrame に追加する方法の例も見ていきます。

DataFrame メソッドで直接渡して、header 行を追加する

columns 引数を使用して、header を直接 DataFrame に渡します。

次のコードについて考えます。

# python 3.x
import pandas as pd
import numpy as np

df = pd.DataFrame(data=np.random.randint(0, 10, (6, 4)), columns=["a", "b", "c", "d"])
print(df)

出力:

   a  b  c  d
0  4  4  4  0
1  8  1  2  5
2  3  0  4  3
3  3  7  2  4
4  8  3  1  8
5  6  7  5  9

dataframe.columns を使用して header 行を追加する

dataframe.columns を使用して DataFrameheader 行を追加することもできます。

次のコードについて考えます。

# python 3.x
import pandas as pd
import numpy as np

df = pd.DataFrame(data=np.random.randint(0, 10, (6, 4)))
df.columns = ["a", "b", "c", "d"]
print(df)

出力:

   a  b  c  d
0  5  2  6  7
1  4  5  9  0
2  8  3  0  4
3  6  3  1  1
4  9  3  4  8
5  7  5  0  6

header は現在の header を置き換えずに追加する

別のオプションは、列インデックスの追加レベルとしてヘッダー行を追加して、それをマルチインデックスにすることです。このアプローチは、列に追加の情報レイヤーが必要な場合に役立ちます。

次のコードを検討してください。

# python 3.x
import pandas as pd
import numpy as np

df = pd.DataFrame(data=np.random.randint(0, 10, (6, 4)), columns=["a", "b", "c", "d"])
df.columns = pd.MultiIndex.from_tuples(zip(["A", "B", "C", "D"], df.columns))
print(df)

出力:

   A  B  C  D
   a  b  c  d
0  2  6  4  6
1  5  0  5  1
2  9  6  6  1
3  8  9  7  4
4  6  5  6  6
5  3  9  1  5

csv ファイルを読み取るときにヘッダー行を DataFrame に追加する

namesread_csv で直接使用するか、ファイルにヘッダーがない場合は明示的に header=None を設定できます。

次のコードについて考えます。

# python 3.x
import pandas as pd
import numpy as np

df = pd.Cov = pd.read_csv("path/to/file.csv", sep="\t", names=["a", "b", "c", "d"])

関連記事 - Pandas DataFrame