250x250
Link
๋‚˜์˜ GitHub Contribution ๊ทธ๋ž˜ํ”„
Loading data ...
Notice
Recent Posts
Recent Comments
๊ด€๋ฆฌ ๋ฉ”๋‰ด

Data Science LAB

[Python] Apply lambda ์ ์šฉ ๋ณธ๋ฌธ

๐Ÿ Python/Pandas

[Python] Apply lambda ์ ์šฉ

ใ…… ใ…œ ใ…” ใ…‡ 2022. 3. 10. 21:35
728x90

Pandas์—์„œ apply lambda๋ฅผ ์ ์šฉํ•˜๋ฉด ์†์‰ฝ๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€๊ณตํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

def get_square(a):
    return a**2

print('3์˜ ์ œ๊ณฑ : ',get_square(3))

๋ณดํ†ต ํ•จ์ˆ˜๋ฅผ ์ƒ์„ฑํ•  ๋•Œ,

def [ํ•จ์ˆ˜๋ช…(์ธ์ž)]:

  return ๋ฐ˜ํ™˜๊ฐ’

์œผ๋กœ ์ƒ์„ฑํ•˜์ง€๋งŒ, lambda๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์†์‰ฝ๊ฒŒ ํ•จ์ˆ˜๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

 

lambda_square = lambda x: x**2
print("3์˜ ์ œ๊ณฑ : ",lambda_square(3))

lambda๋ฅผ ์ด์šฉํ•˜๋ฉด ํ•œ์ค„์˜ ์ฝ”๋“œ๋กœ๋„ ํ•จ์ˆ˜๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. 

: ๋กœ ๋ฐ˜ํ™œ๋  ์ž…๋ ฅ ์ธ์ž์˜ ๊ณ„์‚ฐ์‹์„ ๋ถ„๋ฆฌํ•œ๋‹ค. 

:์˜ ์™ผ์ชฝ์— ์žˆ๋Š” x๋Š” ์ž…๋ ฅ์ธ์ž์ด๋ฉฐ, ์˜ค๋ฅธ์ชฝ์€ ์ž…๋ ฅ์ธ์ž์˜ ๊ณ„์‚ฐ์‹์ด๋‹ค. 

 

 

a = [1,2,3]
squares = map(lambda x : x**2,a)
list(squares)

map(lambda x : ) ์ฒ˜๋Ÿผ map()ํ•จ์ˆ˜๋ฅผ ๊ฒฐํ•ฉํ•˜๋ฉด ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฐ’์„ ์ž…๋ ฅ ์ธ์ž๋กœ ์‚ฌ์šฉํ•˜์—ฌ lambda์‹์„ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

 

titanic ๋ฐ์ดํ„ฐ์— lambda์‹์„ ์ ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€๊ณตํ•ด ๋ณด๋ ค๊ณ  ํ•œ๋‹ค. 

titanic_df['Name_len'] = titanic_df['Name'].apply(lambda x:len(x))
titanic_df[['Name','Name_len']].head()

'Name'์ปฌ๋Ÿผ์— lambda๋ฅผ ์ ์šฉํ•˜์—ฌ 'Name_len'์ปฌ๋Ÿผ์„ ์ƒˆ๋กœ ์ƒ์„ฑํ•˜์˜€๋‹ค. 

์œ„์™€ ๊ฐ™์ด ํ•˜๋‚˜์˜ ์ปฌ๋Ÿผ์— lambda๋ฅผ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

 

titanic_df['Child_Adult'] = titanic_df['Age'].apply(lambda x:'Child' if x<=15 else 'Adult')
titanic_df[['Age','Child_Adult']].head()

if์ ˆ์˜ ๊ฒฝ์šฐ, if ์‹๋ณด๋‹ค ๋ฐ˜ํ™˜ ๊ฐ’์„ ๋จผ์ € ์ž…๋ ฅํ•ด์•ผ ํ•œ๋‹ค. 

lambda x : [๋ฐ˜ํ™˜๊ฐ’] if [์กฐ๊ฑด] else [else ์‹] [else ๋ฐ˜ํ™˜๊ฐ’]

 

 

 

titanic_df['Age_cat'] = titanic_df['Age'].apply(lambda x: 'Child' if x<=15 else('Adult' if x<=60 else 'Elderly'))
titanic_df['Age_cat'].value_counts()

๋˜ํ•œ, lambda ์ ˆ์—์„œ๋Š” if, else๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๊ณ , else if๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค. 

else if๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์œผ๋ฉด else์ ˆ์— ()๋ฅผ ๋‚ดํฌํ•˜์—ฌ ()๋‚ด์—์„œ ๋‹ค์‹œ if์™€ else๋ฅผ ์ ์šฉํ•ด์•ผ ํ•œ๋‹ค. 

728x90
Comments