์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- Streamlit๊ธฐ์ด
- Pandas
- ์คํธ๋ฆผ๋ฆฟ
- ์คํธ๋ฆผ๋ฆฟ ๊ธฐ๋ณธ
- ์๋๋ก์ด๋ ์ฑ ๊ฐ๋ฐ
- ์๋ฐํ๋ก๊ทธ๋๋ฐ
- MySQL
- java
- RESTful API
- ํ์ด์ฌ๊ณต๋ถ
- ์๋ฐ์คํฌ๋ฆฝํธ ๊ณต๋ถ
- serverless
- Matplotlib ๊ธฐ์ด
- Android
- ์น๋์๋ณด๋ ์ ์
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ์๋ฐ๊ณต๋ถ
- ์๋ฐ
- JavaScript
- ์๋ฐ์คํฌ๋ฆฝํธ
- ํ๋ค์ค
- ์น๋์๋ณด๋ ๊ธฐ์ด
- ํ๋ค์ค๊ณต๋ถ
- ์๋ฐ์ด๋ณด
- ์๋๋ก์ด๋ ์คํ๋์ค
- db
- ์๋ฐ๊ธฐ์ด
- Streamlit๊ธฐ๋ณธ
- ํ์ด์ฌ
- streamlit
- Today
- Total
ruriruriya
[Python] ํ์ด์ฌ ํ๋ค์ค(Pandas) - ๋ฐ์ดํฐ ์ ๋ ฌ sort_value(), sort_index()๋ฉ์๋ ๋ณธ๋ฌธ
[Python] ํ์ด์ฌ ํ๋ค์ค(Pandas) - ๋ฐ์ดํฐ ์ ๋ ฌ sort_value(), sort_index()๋ฉ์๋
๋ฃจ๋ฆฌ์ผใ 2023. 11. 17. 18:11
ํ๋ค์ค์์ ๋ฐ์ดํฐํ๋ ์์ ์ ๋ ฌํ๋ ๋ฐ์๋ sort_values()์ sort_index()๋ผ๋ ๋ ๊ฐ์ง ๋ฉ์๋๊ฐ ์๋ค. ๊ฐ๊ฐ์ ๋ฉ์๋๋ ๋ค์ํ ์ ๋ ฌ ์ต์ ์ ์ ๊ณตํด ๋ฐ์ดํฐ๋ฅผ ์ํ๋ ๋๋ก ์ ๋ ฌํ ์ ์๋ค.
์๋์ ๋ฐ์ดํฐ๋ก ๋ ๊ฐ์ง ๋ฉ์๋๋ฅผ ํ์ธํด๋ณด์.
>> df = pd.DataFrame({'Employee ID':[111, 222, 333, 444],
'Employee Name':['Chanel', 'Steve', 'Mitch', 'Bird'],
'Salary [$/h]':[35, 29, 38, 20],
'Years of Experience':[3, 4 ,9, 1]})
>> df
sort_values() ์ฌ์ฉํ๊ธฐ
์ด ๋ฉ์๋๋ ๋ฐ์ดํฐํ๋ ์์ ํน์ ์ด(column)์ ๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ ๋ ์ฌ์ฉ๋๋ค. ์ฃผ๋ก by ๋งค๊ฐ๋ณ์๋ฅผ ํ์ฉํด ์ ๋ ฌ ๊ธฐ์ค์ด ๋๋ ์ด์ ์ ํํ ์ ์๋ค.
- by: ์ ๋ ฌํ ๊ธฐ์ค์ด ๋๋ ์ด(column)์ ์ด๋ฆ์ ๋ํ๋ด๋ ๋งค๊ฐ๋ณ์์๋ค. ๋ฆฌ์คํธ๋ก ์ฌ๋ฌ ์ด์ ์ง์ ํ ์๋ ์๋ค.
- ascending: ์ ๋ ฌ ๋ฐฉ์์ ๊ฒฐ์ ํ๋๋ฐ, ๊ธฐ๋ณธ๊ฐ์ True๋ก ์ค๋ฆ์ฐจ์์ด๊ณ , False๋ก ์ค์ ํ๋ฉด ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌ๋๋ค.
- ignore_index: ๊ธฐ๋ณธ๊ฐ์ False๋ก, True๋ก ์ค์ ํ๋ฉด ์๋ก์ด ์ธ๋ฑ์ค๋ฅผ ์์ฑํด์ค๋ค.
์ ๋ฐ์ดํฐ์์ ๊ฒฝ๋ ฅ์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ค.
>> df['Years of Experience'].sort_values() # ์ปฌ๋ผ๋ง ์ ๋ ฌ
3 1
0 3
1 4
2 9
Name: Years of Experience, dtype: int64
๊ทธ๋ฆฌ๊ณ ํ ์ ์ฒด๋ฅผ ํน์ ์ปฌ๋ผ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ๋ค.
>> df.sort_values('Years of Experience')
๊ฒฝ๋ ฅ์ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ค.
>> df.sort_values('Years of Experience', ascending= False)
length ์ปฌ๋ผ์ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ค.
>> df.sort_values('length', ascending= False)
์ ๋ ฌ ์กฐ๊ฑด์ด ์ฌ๋ฌ ๊ฐ์ผ ๋๋ sort_values ํจ์์ ๋ฆฌ์คํธ๋ก ์ฌ๋ฌ ์ปฌ๋ผ์ ๋ฃ์ด ์ ๋ ฌํ ์ ์๋ค.
length๋ฅผ ๋ด๋ฆผํ์์ผ๋ก ์ ๋ ฌํ๋, ์ซ์๊ฐ ๊ฐ์ผ๋ฉด, ์ด๋ฆ์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ค.
>> df.sort_values(['length','Employee Name'],ascending=[False,True])
sort_index() ์ฌ์ฉํ๊ธฐ
์ด ๋ฉ์๋๋ ์ธ๋ฑ์ค๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฐ์ดํฐํ๋ ์์ ์ ๋ ฌํ ๋ ์ฌ์ฉ๋๋ค.. ์ฃผ๋ก ๋ฐ์ดํฐํ๋ ์์ ์ธ๋ฑ์ค์ ๋ฐ๋ผ ์ ๋ ฌํ ๋ ์ ์ฉํ๋ค. ๋ช ๊ฐ์ง ์ค์ํ ๋งค๊ฐ๋ณ์๋ ์๋์ ๊ฐ๋ค.
- axis: ๊ธฐ๋ณธ๊ฐ์ 0์ผ๋ก ํ(row)์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ๋ ๊ฒ์ด๊ณ , 1๋ก ์ค์ ํ๋ฉด ์ด(column)์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํด.
- ascending: ์ ๋ ฌ ๋ฐฉ์์ ๊ฒฐ์ ํ๋๋ฐ, ๊ธฐ๋ณธ๊ฐ์ True๋ก ์ค๋ฆ์ฐจ์์ด๊ณ , False๋ก ์ค์ ํ๋ฉด ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌ๋ผ.
๋จผ์ ์์ ์ธ๋ฑ์ค๊ฐ ์ ๋ ฌ๋์ง ์์ sort_values ํจ์๋ฅผ ์ ์ฉํ ๋ฐ์ดํฐ ํ๋ ์์ ๋ณ์์ ๋ฃ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์๋ก์ด ๋ณ์์ sort_index()์ ์ฉํ๋ค. ์ด๋ ascending ์์ฑ์ False ๊ฐ์ ์ฃผ์ด ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ค.
>> df2=df.sort_values(['length','Employee Name'],ascending=[False,True])
>> df2.sort_index(ascending=[False])