๐Ÿผ Pandas๋กœ ๋ฐ˜๋ณตํ•˜๊ณ  ์กฐ์ž‘ํ•˜๊ธฐ โ€” `iterrows()`์™€ `apply()` ์ œ๋Œ€๋กœ ์“ฐ๊ธฐ

Sueยท2025๋…„ 6์›” 26์ผ
post-thumbnail

๐Ÿผ Pandas๋กœ ๋ฐ˜๋ณต ์กฐ์ž‘ ๋ฐฉ๋ฒ• โ€” iterrows()์™€ apply() ์ œ๋Œ€๋กœ ์“ฐ๊ธฐ

Intermediate Python ๊ฐ•์˜์˜ 4์žฅ์„ ๋ณต์Šตํ•˜๋ฉด์„œ Pandas์˜ ๊ฐ•๋ ฅํ•œ ๋ฐ˜๋ณต ๋ฐ ๋ฐ์ดํ„ฐ ์กฐ์ž‘ ๊ธฐ๋Šฅ์„ ์ตํ˜”์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŠธ์—์„œ๋Š” ์‹ค์Šตํ–ˆ๋˜ ๊ฐœ๋…๋“ค์„ ์ฝ”๋“œ ์˜ˆ์‹œ์™€ ํ•จ๊ป˜ ์ •๋ฆฌํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.


๐Ÿ“Œ 1. iterrows()๋กœ DataFrame ๋ฐ˜๋ณตํ•˜๊ธฐ

iterrows()๋Š” ๊ฐ ํ–‰์„ ํ•˜๋‚˜์”ฉ ์ˆœํšŒํ•˜๋ฉฐ, ์ธ๋ฑ์Šค(๋ ˆ์ด๋ธ”)์™€ ํ–‰ ๋ฐ์ดํ„ฐ๋ฅผ Series ํ˜•ํƒœ๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

import pandas as pd

# ์˜ˆ์ œ DataFrame
cars = pd.DataFrame({
    "country": ["United States", "Australia", "Japan", "India", "Russia"],
    "drives_right": [True, False, False, False, True]
})

# ๋ฐ˜๋ณตํ•˜๋ฉด์„œ ๊ฐ ํ–‰์˜ ์ •๋ณด ์ถœ๋ ฅ
for label, row in cars.iterrows():
    print(f"Index: {label}")
    print(f"Country: {row['country']}, Drives Right: {row['drives_right']}")

โœ… ์ถœ๋ ฅ ์˜ˆ์‹œ:

Index: 0
Country: United States, Drives Right: True
...

๐Ÿ“Œ 2. ๋ฐ˜๋ณตํ•˜๋ฉด์„œ ์ƒˆ๋กœ์šด ์ปฌ๋Ÿผ ๋งŒ๋“ค๊ธฐ

์˜ˆ๋ฅผ ๋“ค์–ด, ๊ตญ๊ฐ€ ์ด๋ฆ„์„ ๋ชจ๋‘ ๋Œ€๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ƒˆ๋กœ์šด ์ปฌ๋Ÿผ์— ์ €์žฅํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

for label, row in cars.iterrows():
    cars.loc[label, "COUNTRY_UPPER"] = row["country"].upper()

print(cars)

๐Ÿงพ ๊ฒฐ๊ณผ:

countrydrives_rightCOUNTRY_UPPER
United StatesTrueUNITED STATES
AustraliaFalseAUSTRALIA
JapanFalseJAPAN
IndiaFalseINDIA
RussiaTrueRUSSIA

โšก 3. apply()๋กœ ๋” ๋น ๋ฅด๊ณ  ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•˜๊ธฐ

for ๋ฃจํ”„๋ณด๋‹ค ๋” ํšจ์œจ์ ์ธ ๋ฐฉ๋ฒ•์€ ๋ฐ”๋กœ apply()๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฐ™์€ ์ž‘์—…์„ ํ•œ ์ค„๋กœ ๋๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

# country ์ปฌ๋Ÿผ์„ ๋Œ€๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์ƒˆ๋กœ์šด ์ปฌ๋Ÿผ ์ƒ์„ฑ
cars["COUNTRY_UPPER"] = cars["country"].apply(str.upper)

๐Ÿ’ก ์žฅ์ :

  • ์ฝ”๋“œ๊ฐ€ ๊ฐ„๊ฒฐํ•ด์ง€๊ณ 
  • ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ์—์„œ๋„ ์†๋„๊ฐ€ ํ›จ์”ฌ ๋น ๋ฆ…๋‹ˆ๋‹ค.

๐Ÿ” ๋งˆ๋ฌด๋ฆฌ ์ •๋ฆฌ

๋ฐฉ์‹์žฅ์ ๋‹จ์ 
iterrows()์ง๊ด€์ ์ด๊ณ  ์œ ์—ฐํ•จ์†๋„๊ฐ€ ๋А๋ฆผ, ์ฝ”๋“œ๊ฐ€ ๊ธธ์–ด์ง
apply()๋น ๋ฅด๊ณ  ๊ฐ„๊ฒฐํ•จ๋ณต์žกํ•œ ๋กœ์ง์—” ์œ ์—ฐ์„ฑ์ด ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ์Œ

profile
AI/ML Engineer

0๊ฐœ์˜ ๋Œ“๊ธ€