ヘッダー行を Pandas DataFrame に追加する方法
Asad Riaz
2023年1月30日
-
DataFrame
メソッドで直接渡して、header
行を追加する -
dataframe.columns
を使用してheader
行を追加する -
header
は現在のheader
を置き換えずに追加する -
csv ファイルを読み取るときに
ヘッダー
行をDataFrame
に追加する
Pandas の DataFrame
にヘッダー行を追加する方法と、names
を DataFrame
に直接渡すか、リストの列名を 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
を使用して DataFrame
に header
行を追加することもできます。
次のコードについて考えます。
# 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
に追加する
names
を read_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"])