오식랜드
[python] pandas 데이터 정렬 본문
반응형
출처 : 나도코딩 https://www.youtube.com/watch?v=PjhlUzp_cU0&t=10533
import pandas as pd
# excel 파일 열기
df = pd.read_excel('score.xlsx', index_col='지원번호')
오름차순
- sort_values()
키 순서 오름차순으로 정렬해보자
print(df.sort_values('키'))
이름 학교 키 국어 영어 수학 과학 사회 SW특기
지원번호
3번 송태섭 북산고 168 80 75 70 80 75 Javascript
2번 정대만 북산고 184 40 35 50 55 25 Java
4번 서태웅 북산고 187 40 60 70 75 80 NaN
5번 강백호 북산고 188 15 20 10 35 10 NaN
7번 황태산 능남고 188 55 65 45 40 35 PYTHON
8번 윤대협 능남고 190 100 85 90 95 95 C#
1번 채치수 북산고 197 90 85 100 95 85 Python
6번 변덕규 능남고 202 80 100 95 85 80 C
내림차순
- sort_values( , ascending=False)
키 순서 내림차순으로 정렬해보자
print(df.sort_values('키', ascending=False))
복합으로 사용하기
수학, 영어 점수로 내림차순을 만들어보자
print(df.sort_values(['수학', '영어'], ascending=False))
이름 학교 키 국어 영어 수학 과학 사회 SW특기
지원번호
1번 채치수 북산고 197 90 85 100 95 85 Python
6번 변덕규 능남고 202 80 100 95 85 80 C
8번 윤대협 능남고 190 100 85 90 95 95 C#
3번 송태섭 북산고 168 80 75 70 80 75 Javascript
4번 서태웅 북산고 187 40 60 70 75 80 NaN
2번 정대만 북산고 184 40 35 50 55 25 Java
7번 황태산 능남고 188 55 65 45 40 35 PYTHON
5번 강백호 북산고 188 15 20 10 35 10 NaN
처음엔 수학 점수로 내림차순을 한 뒤, 동점자가 있으면 영어 점수로 정렬이 된다.
복합으로 사용하기 (오름차순, 내림차순 변경)
수학점수는 내림차순, 영어점수는 오름차순으로 정렬하고 싶을 땐 ascending에 값을 list로 넣어주면 된다.
print(df.sort_values(['수학', '영어'], ascending=[False, True]))
이름 학교 키 국어 영어 수학 과학 사회 SW특기
지원번호
1번 채치수 북산고 197 90 85 100 95 85 Python
6번 변덕규 능남고 202 80 100 95 85 80 C
8번 윤대협 능남고 190 100 85 90 95 95 C#
4번 서태웅 북산고 187 40 60 70 75 80 NaN
3번 송태섭 북산고 168 80 75 70 80 75 Javascript
2번 정대만 북산고 184 40 35 50 55 25 Java
7번 황태산 능남고 188 55 65 45 40 35 PYTHON
5번 강백호 북산고 188 15 20 10 35 10 NaN
이렇게 하면 영어점수가 동점일 떄, 수학 점수가 더 낮은 사람이 더 위로 정렬이 된다
하나의 col을 가지고 정렬하기
- 오름차순
print(df['키'].sort_values())
지원번호
3번 168
2번 184
4번 187
5번 188
7번 188
8번 190
1번 197
6번 202
Name: 키, dtype: int64
- 내림차순
print(df['키'].sort_values(ascending=False))
지원번호
6번 202
1번 197
8번 190
5번 188
7번 188
4번 187
2번 184
3번 168
Name: 키, dtype: int64
index 순
- 오름차순
print(df.sort_index())
- 내림차순
print(df.sort_index(ascending=False))
반응형
'dev-log > python' 카테고리의 다른 글
[python] pandas 데이터에 함수 적용 (0) | 2023.01.17 |
---|---|
[python] pandas 데이터 수정 (0) | 2023.01.17 |
[python] pandas 결측치(비어있는 데이터) 처리 (0) | 2023.01.17 |
[python] pandas 데이터 선택 (0) | 2023.01.17 |
[python] pandas 데이터 확인 (0) | 2023.01.17 |
Comments