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

  1. dataframe メソッドで直接渡して、header 行を追加します
  2.  dataframe.columns を使用して header 行を追加します
  3. header は現在の header を置き換えずに追加します
  4.  csv ファイルを読み取るときに「ヘッダー」行を 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 で浮動小数点数 float を整数 int に変換する方法
  • comments powered by Disqus