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

Asad Riaz 2023年1月30日 2020年4月1日 Pandas Pandas DataFrame
  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

  • Pandas DataFrame の列ヘッダーをリストとして取得する方法
  • Pandas DataFrame 列を削除する方法
  • Pandas で DataFrame 列を日時に変換する方法
  • Pandas DataFrame で浮動小数点数 float を整数 int に変換する方法
  • Pandas DataFrame を 1つの列の値で並べ替える方法
  • Pandas group-by と Sum の集計を取得する方法