Python超基礎7:ループ処理

ここからは、条件を変えながら処理を繰り返すような場合を考える。

7.1 ループの基礎

一回しか書いていない処理を、変数部分を差し替えながら実施すること、たとえばprintを考えても、

				
					i = 'Hello'
   print(i)
				
			

とすると、変数iの中身たるHelloがprintされることはわかる。ループでは(もちろん色々あるが)、このiの中身を差し替えながらprint(i)を繰り返すイメージ。一番基礎的な形を示すとすれば、

				
					for i in [1, 2, 3]:
     print(i)
				
			

これは3つの要素を持つリスト[1, 2, 3]の中から順に i に代入した状態でprint(i)を繰り返すことを意味する。つまり print(1) → print(2) → print(3) が順に実行される。

Pythonはインデント(字下げ)でブロックを認識するため、ループもインデントされている範囲のみが繰り返される。つまり、

				
					print('Start')
for i in [1, 2, 3]:
     print(i)
print('End')
				
			

とすると、インデントの中身であるprint(i)だけが3回繰り返される。よって結果は以下のような感じ。

7.2 リストを使った条件抽出ループ

もちろんこのリストの中身は文字列などに変更することもできる。例えば、前回ブランド名がネスレ日本になっているもののみを選択して月毎の平均を算出していたが、これを各ブランドについて自動化することもできる。

				
					for x in ['ネスレ日本', '上島珈琲']:
     brand = d[ d['ブランド名'] == x ].groupby('月').mean()
     display(brand)
				
			

for x in [リスト]の表記から、リストの中の要素を前から順に変数xに代入していくことがわかる。そこで中を見ると、データフレームの条件式が d[‘ブランド名’] == x となっていることから、1周目はブランド名がネスレ日本、2周目は上島珈琲について月別の平均を算出する。

そこで作った新しいサブセットにbrandという名前をつけておき、それを3行目の処理でdisplayする。