1. 학습
  2. /
  3. 강의
  4. /
  5. 중급 Python

Connected

연습 문제

열 추가 (2)

Pandas DataFrame의 각 관측값을 iterrows()로 순회하는 방법은 이해하기 쉽지만, 효율적이지는 않아요. 매 반복마다 새로운 Pandas Series가 만들어지기 때문이에요.

다른 열에 함수를 적용해 새 열을 추가하려면, for 루프와 iterrows() 조합은 권장되지 않아요. 대신 apply()를 사용하면 됩니다.

아래처럼 brics DataFrame에서 같은 결과를 얻는 iterrows() 방식과 apply() 방식을 비교해 보세요:

for lab, row in brics.iterrows() :
    brics.loc[lab, "name_length"] = len(row["country"])

brics["name_length"] = brics["country"].apply(len)

비슷한 방식으로 country 열의 모든 이름에 대해 upper() 메서드를 호출할 수도 있어요. 다만 upper()는 메서드이므로, 약간 다른 접근이 필요합니다:

지침

100 XP
  • for 루프를 .apply(str.upper)를 사용하는 한 줄짜리 코드로 바꾸세요. 실행 결과는 동일해야 합니다. 즉, 국가 이름을 모두 대문자로 변환한 값을 담은 COUNTRY 열이 cars에 추가되어야 해요.
  • 늘 하던 대로, 수고의 결실을 확인하기 위해 cars를 출력해 보세요.