반복을 위한 iterrows() 함수
방금 pandas DataFrame에서 제네레이터를 만드는 방법을 살펴봤습니다. 이제 이 제네레이터를 사용해서 pandas DataFrame을 순회(looping)하는 방법의 장점을 확인해 보겠습니다. 데이터셋은 계속 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], ____, ____, ____])