sort_values() 를 사용한 데이터 정렬
- 값을 기준으로 정렬할 때 사용
import pandas as pd
# 예시 데이터프레임
df = pd.DataFrame({
'A': [3, 1, 4, 2],
'B': [30, 10, 40, 20]
})
# 'A' 열을 기준으로 오름차순 정렬
sorted_df = df.sort_values(by='A', ascending=True)
print(sorted_df)
# 출력
A B
1 1 10
3 2 20
0 3 30
2 4 40
- ascending=True 는 생략가능하며 기본값이 True
- 내림차순은 False
sort_index() 를 사용한 인덱스 정렬
- 인덱스 기준으로 데이터프레임을 정렬할 때 사용
# 인덱스를 기준으로 오름차순 정렬
df_sorted_by_index = df.sort_index(ascending=True)
print(df_sorted_by_index)
# 출력
A B
0 3 30
1 1 10
2 4 40
3 2 20
- ascending=True 는 생략가능하며 기본값이 True
- 내림차순은 False
여러 열 기준으로 정렬
- by 에 리스트를 전달하면 여러 열을 기준으로 정렬 가능
# 'A' 열 기준 오름차순, 'B' 열 기준 내림차순 정렬
sorted_df_multi = df.sort_values(by=['A', 'B'], ascending=[True, False])
print(sorted_df_multi)
# 출력
A B
1 1 10
3 2 20
0 3 30
2 4 40
행 또는 열 기준으로 정렬
- axis=0 : 행 기준(row)
- axis=1 : 열 기준(column)
# 열 기준으로 인덱스 정렬
df_sorted_by_index_axis1 = df.sort_index(axis=1, ascending=True)
print(df_sorted_by_index_axis1)
# 출력
A B
0 3 30
1 1 10
2 4 40
3 2 20
rank() 를 사용한 순위 정렬
- 값에 순위를 부여하는 함수
- 정렬과 유사한 기능을 함
df['Rank'] = df['A'].rank(ascending=True)
print(df)
# 출력
A B Rank
0 3 30 3.0
1 1 10 1.0
2 4 40 4.0
3 2 20 2.0
동일 값에 순위 처리 방법
- method 파라미터를 사용하여 설정
- average
- min
- max
- first
- dense
# 동일 값에 대해 평균 순위 부여
df['Rank_avg'] = df['A'].rank(method='average')
print(df)
# 출력
A B Rank Rank_avg
0 3 30 3.0 3.0
1 1 10 1.0 1.0
2 4 40 4.0 4.0
3 2 20 2.0 2.0
'Python > Pandas' 카테고리의 다른 글
[Pandas] 그룹화 및 집계함수 (1) | 2024.12.16 |
---|---|
[Pandas] 데이터 병합 - merge(), concat(), join() (1) | 2024.12.16 |
[Pandas] 타입 변환 - astype() (1) | 2024.12.16 |
[Pandas] 필터링 (0) | 2024.12.16 |
[Pandas] 데이터 접근 (at, loc) (0) | 2024.12.16 |