This post is also available in: English-US (英語)
pandasを使っていて、for文でループする際に、データフレームの列名を連番やリスト要素にて作成する方法について、備忘録的にメモを書いています。
下記コード中の「f"sample_{i}"」は、Python3.6から導入された f文字列(フォーマット済み文字列リテラル,f-string) を利用しています。
特に、機械学習のプログラミングを行う際、特徴量を大量に生成する場合などに便利です。
for文でデータフレームの列名を、連番にて作成したい場合
import pandas as pd
#データフレームの列名を連番にて作成
df = pd.DataFrame()
for i in range(1,5,1):
df[f"sample_{i}"] = [11,22,33]
print(df)
"""
#output
sample_1 sample_2 sample_3 sample_4
0 11 11 11 11
1 22 22 22 22
2 33 33 33 33
"""
for文でデータフレームの列名を、リスト要素にて作成したい場合
import pandas as pd
#データフレームの列名をリスト要素にて作成
df2 = pd.DataFrame()
items = [1,5,'a','b']
for i in items:
df2[f"sample_{i}"] = [11,22,33]
print(df2)
"""
#output
sample_1 sample_5 sample_a sample_b
0 11 11 11 11
1 22 22 22 22
2 33 33 33 33
"""

