始める無料で始める

ループのための iterrows() 関数

先ほど、pandas の DataFrame からジェネレーターを作成する方法を見ました。ここではそのジェネレーターを使って、pandas DataFrame をループ処理する利点を、引き続き poker_hands データセットで確認していきます。

具体的には、ハンドのインデックスが奇数のときに、そのハンドに含まれるすべてのカードのランクの合計を求めます。カードのランクは、DataFrame の奇数番目の列に入っています。

この演習はコースの一部です

pandasで効率的にコードを書く

コースを見る

演習の手順

  • ハンドのインデックスが奇数かどうかを確認します。
  • 奇数であれば、そのハンド内のすべてのカードのランクの合計を計算します。結果の計算には通常より少し時間がかかる場合があります。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

data_generator = poker_hands.iterrows()

for index, values in data_generator:
  	# Check if index is odd
    if ____:
      	# Sum the ranks of all the cards
        hand_sum = sum([____[1], ____[3], ____, ____, ____])
コードを編集して実行