데이터를 정렬하는 방법에는 크게 두 가지가 있습니다. 하나는 인덱스(index)를 기준으로 정렬하는 방법이고, 다른 하나는 특정 열(column)의 값을 기준으로 정렬하는 방법입니다.
먼저, 인덱스를 기준으로 데이터를 정렬하는 방법을 살펴보겠습니다.
설명에 쓸 데이터프레임(DataFrame) 예제입니다.
data = {'name': ['Kim', 'Lee', 'Park', 'Choi', 'Jung'],
'age': [24, 26, 21, 27, 25],
'score': [90, 85, 95, 80, 75]}
df = pd.DataFrame(data)
생성한 데이터프레임을 인덱스를 기준으로 오름차순으로 정렬했습니다.
df_sorted = df.sort_index()
print(df_sorted)
>>>
name age score
0 Kim 24 90
1 Lee 26 85
2 Park 21 95
3 Choi 27 80
4 Jung 25 75
이번에는 인덱스를 기준으로 내림차순으로 정렬해보겠습니다.
df_sorted = df.sort_index(ascending=False)
print(df_sorted)
>>>
name age score
4 Jung 25 75
3 Choi 27 80
2 Park 21 95
1 Lee 26 85
0 Kim 24 90
이번에는 특정 열의 값을 기준으로 데이터를 정렬하는 방법을 살펴보겠습니다.
df_sorted = df.sort_values('score')
print(df_sorted)
>>>
name age score
4 Jung 25 75
3 Choi 27 80
1 Lee 26 85
0 Kim 24 90
2 Park 21 95
'score' 열의 값을 기준으로 데이터를 오름차순으로 정렬했습니다.
이번에는 'score' 열의 값을 기준으로 내림차순으로 정렬해보겠습니다.
df_sorted = df.sort_values('score', ascending=False)
print(df_sorted)
>>>
name age score
2 Park 21 95
0 Kim 24 90
1 Lee 26 85
3 Choi 27 80
4 Jung 25 75
데이터를 정렬하는 데 있어서 추가적인 조건을 지정할 수도 있습니다. 예를 들어, 'score' 열의 값을 기준으로 내림차순으로 정렬하고, 'age' 열의 값을 기준으로 내림차순으로 정렬하는 경우를 살펴보겠습니다.
df_sorted = df.sort_values(['score', 'age'], ascending=[False, False])
print(df_sorted)
>>>
name age score
2 Park 21 95
0 Kim 24 90
1 Lee 26 85
3 Choi 27 80
4 Jung 25 75
'sort_values' 함수의 첫 번째 인자로는 정렬 기준이 될 열의 이름을 리스트 형태로 전달하고, 두 번째 인자로는 해당 열들의 정렬 방식(오름차순 or 내림차순)을 리스트 형태로 전달합니다.
df_sorted = df.sort_values('score', ascending=False).head(3)
print(df_sorted)
>>>
name age score
2 Park 21 95
0 Kim 24 90
1 Lee 26 85
다음으로 'score' 열의 값을 기준으로 내림차순으로 정렬한 후, 정렬된 결과에서 상위 3개의 데이터만 선택하는 코드를 작성해보겠습니다.
'head' 함수는 데이터프레임에서 상위 n개의 데이터를 선택하는 함수입니다.
마지막으로, 원래의 데이터프레임을 정렬된 상태로 바꾸는 방법에 대해 살펴보겠습니다. 이를 위해서는 'inplace' 파라미터를 True로 설정하면 됩니다.
df.sort_values('score', ascending=False, inplace=True)
print(df)
>>>
name age score
2 Park 21 95
0 Kim 24 90
1 Lee 26 85
3 Choi 27 80
4 Jung 25 75
위 코드에서 'sort_values' 함수의 결과를 원래의 데이터프레임에 적용하기 위해 'inplace' 파라미터를 True로 설정했습니다. 이렇게 하면 원래의 데이터프레임이 정렬된 상태로 바뀝니다.
이상으로, 판다스에서 데이터를 정렬하는 방법에 대해 알아보았습니다. 판다스는 데이터를 다루는데 다양한 함수를 제공하므로, 이를 활용하여 데이터를 보다 쉽게 다룰 수 있습니다.
'pandas' 카테고리의 다른 글
Seaborn을 활용한 데이터 시각화 - 깔끔하고 유용한 시각화 기법들 (0) | 2023.03.24 |
---|---|
다양한 그래프 유형으로 살펴보는 데이터 시각화! (0) | 2023.03.23 |
Pandas로 데이터프레임 그룹화하기: 그룹별로 데이터 처리하는 방법 (0) | 2023.03.22 |
판다스(Pandas)로 피벗테이블(Pivot Table) 만들기: 데이터 분석의 필수 도구! (0) | 2023.03.22 |
Pandas merge, join, concat의 차이와 활용 예시 (0) | 2023.03.21 |
댓글