์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Pandas
- ์๋ฐํ๋ก๊ทธ๋๋ฐ
- ์น๋์๋ณด๋ ์ ์
- ํ์ด์ฌ
- ํ๋ค์ค๊ณต๋ถ
- java
- db
- Android
- ์คํธ๋ฆผ๋ฆฟ ๊ธฐ๋ณธ
- ์๋๋ก์ด๋ ์คํ๋์ค
- ํ์ด์ฌ๊ณต๋ถ
- ์๋ฐ๊ธฐ์ด
- ์๋ฐ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ์๋ฐ์ด๋ณด
- ์๋ฐ์คํฌ๋ฆฝํธ ๊ณต๋ถ
- Streamlit๊ธฐ์ด
- ์๋ฐ๊ณต๋ถ
- MySQL
- Streamlit๊ธฐ๋ณธ
- ์คํธ๋ฆผ๋ฆฟ
- ์น๋์๋ณด๋ ๊ธฐ์ด
- ์๋๋ก์ด๋ ์ฑ ๊ฐ๋ฐ
- JavaScript
- ํ๋ค์ค
- Matplotlib ๊ธฐ์ด
- ์๋ฐ์คํฌ๋ฆฝํธ
- streamlit
- RESTful API
- serverless
- Today
- Total
ruriruriya
[Python] ํ์ด์ฌ ํ๋ค์ค(Pandas) - ํจ์ ๋ง๋ค์ด ์ ์ฉํ๋ apply()๋ฉ์๋ ๋ณธ๋ฌธ
[Python] ํ์ด์ฌ ํ๋ค์ค(Pandas) - ํจ์ ๋ง๋ค์ด ์ ์ฉํ๋ apply()๋ฉ์๋
๋ฃจ๋ฆฌ์ผใ 2023. 11. 17. 17:49
apply()๋ ํ๋ค์ค์์ Series๋ DataFrame์ ํจ์๋ฅผ ์ ์ฉํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ๋ฉ์๋์ด๋ค. ์ด๋ฅผ ํตํด ์ฌ์ฉ์๊ฐ ์ ์ํ ํจ์๋ฅผ ๊ฐ ํ์ด๋ ์ด์ ์ ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ฑฐ๋ ๋ณํํ ์ ์๋ค.
์๋ ๋ฐ์ดํฐ๋ก apply() ๋ฉ์๋๋ฅผ ์ ์ฉํด๋ณด์.
>> df
์ฒซ๋ฒ ์งธ, ํจ์๋ง๋ค๊ธฐ
#### ํจ์๋ฅผ ๋ง๋๋ ์์ ๊ผญ ๊ธฐ์ตํ์! ์ด๋ ๊ฒ ๊ธฐ์ตํ๋ฉด ํจ์ ๋ง๋๋ ๊ฒ์ด ์ข๋ ์ฌ์์ง๋ค.
1. ํจ์์ ํธ์ถ๋ถ๋ถ์ ๋จผ์ ์์ฑํ๋ค.
2. ํธ์ถ๋ถ๋ถ์ ์ฐธ๊ณ ํ์ฌ ํจ์๋ฅผ ์ ์ํ๋ค.
๋จผ์ ํธ์ถํ ํจ์๋ช ๊ณผ ๋งค๊ฐ๋ณ์๋ฅผ ์จ์ ์ถ๋ ฅ ๋ด์ฉ์ ์์ธกํด๋ณธ๋ค.
grouping(35)
# 'A' ์ถ๋ ฅ
grouping(29)
# 'B' ์ถ๋ ฅ
๊ทธ ๋ค์ if๋ฌธ์ ์ฌ์ฉํด์ ์๊ธ์ด 30๋ณด๋ค ์ด์์ด๋ฉด 'A' ๋ฌธ์์ด์ ๋ฆฌํดํ๊ณ ๋๋จธ์ง๋ 'B'๋ก ๋ฆฌํดํ๋ค๊ณ ํจ์๋ฅผ ์ ์ํ๋ค.
>> def grouping(salary):
if salary >= 30 :
return 'A'
else :
return 'B'
๊ทธ ๋ค์ ์๊น ์์ธกํด๋๋ ํจ์์ ๋งค๊ฐ๊ฐ์ ๋ค์ ๋ฃ์ด๋ณด๊ณ Run ํด๋ณธ๋ค.
>> grouping(35)
A
>> grouping(29)
B
๊ทธ๋ผ ๊ฐ์ด ์ ๋์ค๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
๋๋ฒ ์งธ, ํจ์ ์ ์ฉํ์ฌ ๋ฐ์ดํฐ ๊ฐ๊ณต
>> df['Salary [$/h]'].apply(grouping)
0 A
1 B
2 A
3 B
Name: Salary [$/h], dtype: object
๊ทธ๋ฆฌ๊ณ ๊ฐ๊ณต๋ ๋ฐ์ดํฐ๋ฅผ ๋ค์ ํด๋น ์นผ๋ผ์ผ๋ก ๋์
์์ผ์ฃผ๋ฉด
๊ฐ๊ณต๋ ๋ฐ์ดํฐ๋ก ๋ฐ๋ ๋ฐ์ดํฐ ํ๋ ์์ ๋ณผ ์ ์๋ค.
>> df['group'] = df['Salary [$/h]'].apply(grouping)
>> df