1から始めるPythonデータ分析 - やりたいこと逆引きリスト ▶︎▶︎

【Python】複数のリストでforを実施する方法|超分かる!繰り返し処理

複数のリストでforを実施する

今回は複数のリストの要素を変数として、繰り返し処理を実施する方法をご紹介します

複数の変数を繰り返すには2つの手法が存在しています

  • リスト要素の全てのパターンを繰り返す方法
  • 対応するそれぞれに対してのみ処理を実施する方法
Pythonのfor繰り返し処理のパターン

繰り返し処理 forは業務効率化やデータ分析で非常に便利な手法です

基本的な使い方に関してはこちらの記事をご覧ください

【Python】for文をイメージ図で完全解説|超分かる!繰り返し処理

① for文を繰り返す方法

Pythonの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)
Pythonのforで全てのパターンを繰り返す方法

1つ目のリスト「A・B・C」それぞれに対して、2つ目のリスト「東京・大阪・福岡」が繰り返されます

リストの要素が「3 x 3」あるため、「9」つのアウトプットが表示されます

② zipを利用して繰り返す方法

Pythonのfor繰り返し処理において対応するそれぞれのみ繰り返す方法

続いてzipを用いてリストをまとめたうえで、対応するそれぞれのみ繰り返す方法をご紹介します

繰り返しのforは1度だけ記述します

a_list = ['A','B','C']
b_list = ['東京','大阪','福岡']
for (x,y) in zip(a_list,b_list):
  print(x,y)
Pythonのforで対応する要素のみ繰り返し処理を実施

それぞれのリストに対応する要素のみ繰り返されました

DataFrameに対して繰り返しを実施する

最後にDataFrameに対してforを活用する方法をご紹介します

基本的にはリスト形式と手法は変わりません

まずはDataFrameを用意します

a_list = ['A','B','C']
b_list = ['東京','大阪','福岡']
df = pd.DataFrame({'ID':a_list, 'エリア':b_list})
df
DataFrameのイメージ

DataFrameから[ ]リスト形式で取り出したものを記述します

for x in df['ID']:
  for y in df['エリア']:
    print(x,y)
Pythonのforで全てのパターンを繰り返す方法

zipを使って対応する項目(行ごと)に繰り返し処理を実施します

for (x,y) in zip(df['ID'],df['エリア']):
  print(x,y)
Pythonのforで対応する要素のみ繰り返し処理を実施

DataFrameのインデックス(連番)とlocを活用することで、よりシンプルに記述することができます

for i in df.index:
  print(df.loc[i]['ID'],df.loc[i]['エリア'])
Pythonのforで対応する要素のみ繰り返し処理を実施

まとめ

今回は複数のリストの要素を変数として、繰り返し処理を実施する方法をご紹介してきました

複数の変数を繰り返すには2つの手法が存在しており、それぞれに手法が異なります

  • リスト要素の全てのパターンを繰り返す方法(forを繰り返す)
  • 対応するそれぞれに対してのみ処理を実施する方法(zipでまとめる)

繰り返し処理は少し分かりにくいかもしれませんが、業務を効率化するには非常に最適です

いろいろな場面で使えるように、覚えてみてください

お気に入り登録お願いします

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です