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 """