目次
複数のリストでforを実施する
今回は複数のリストの要素を変数として、繰り返し処理を実施する方法をご紹介します
複数の変数を繰り返すには2つの手法が存在しています
- リスト要素の全てのパターンを繰り返す方法
- 対応するそれぞれに対してのみ処理を実施する方法
繰り返し処理 forは業務効率化やデータ分析で非常に便利な手法です
基本的な使い方に関してはこちらの記事をご覧ください
【Python】for文をイメージ図で完全解説|超分かる!繰り返し処理① for文を繰り返す方法
forを繰り返すことによって、リスト要素のそれぞれのパターンに対して繰り返し処理を実施します
まずは単体の利用方法を確認します
a_list = ['A','B','C']
for x in a_list:
print(x)
さらにforを続けて記述します
a_list = ['A','B','C']
b_list = ['東京','大阪','福岡']
for x in a_list:
for y in b_list:
print(x,y)
1つ目のリスト「A・B・C」それぞれに対して、2つ目のリスト「東京・大阪・福岡」が繰り返されます
リストの要素が「3 x 3」あるため、「9」つのアウトプットが表示されます
② zipを利用して繰り返す方法
続いてzipを用いてリストをまとめたうえで、対応するそれぞれのみ繰り返す方法をご紹介します
繰り返しのforは1度だけ記述します
a_list = ['A','B','C']
b_list = ['東京','大阪','福岡']
for (x,y) in zip(a_list,b_list):
print(x,y)
それぞれのリストに対応する要素のみ繰り返されました
DataFrameに対して繰り返しを実施する
最後にDataFrameに対してforを活用する方法をご紹介します
基本的にはリスト形式と手法は変わりません
まずはDataFrameを用意します
a_list = ['A','B','C']
b_list = ['東京','大阪','福岡']
df = pd.DataFrame({'ID':a_list, 'エリア':b_list})
df
DataFrameから[ ]リスト形式で取り出したものを記述します
for x in df['ID']:
for y in df['エリア']:
print(x,y)
zipを使って対応する項目(行ごと)に繰り返し処理を実施します
for (x,y) in zip(df['ID'],df['エリア']):
print(x,y)
DataFrameのインデックス(連番)とlocを活用することで、よりシンプルに記述することができます
for i in df.index:
print(df.loc[i]['ID'],df.loc[i]['エリア'])
まとめ
今回は複数のリストの要素を変数として、繰り返し処理を実施する方法をご紹介してきました
複数の変数を繰り返すには2つの手法が存在しており、それぞれに手法が異なります
- リスト要素の全てのパターンを繰り返す方法(forを繰り返す)
- 対応するそれぞれに対してのみ処理を実施する方法(zipでまとめる)
繰り返し処理は少し分かりにくいかもしれませんが、業務を効率化するには非常に最適です
いろいろな場面で使えるように、覚えてみてください