본문 바로가기
Python/Python FAQ

Python 한 열을 기준으로 판다스 데이터프레임을 정렬하는 방법은 다음과 같습니다., how to sort pandas dataframe from one column

by 베타코드 2023. 9. 9.
반응형

질문


다음과 같은 데이터 프레임이 있습니다:

print(df)

        0          1     2
0   354.7      April   4.0
1    55.4     August   8.0
2   176.5   December  12.0
3    95.5   February   2.0
4    85.6    January   1.0
5     152       July   7.0
6   238.7       June   6.0
7   104.8      March   3.0
8   283.5        May   5.0
9   278.8   November  11.0
10  249.6    October  10.0
11  212.7  September   9.0

보시다시피 월(months)은 달력 순서로 되어 있지 않습니다. 따라서 각 월에 해당하는 월 번호(1-12)를 얻기 위해 두 번째 열을 생성했습니다. 이제 이 데이터 프레임을 달력 월 순서에 따라 정렬하는 방법은 무엇인가요?


답변


특정 열의 값을 기준으로 sort_values를 사용하여 df를 정렬합니다:

In [18]:
df.sort_values('2')

Out[18]:
        0          1     2
4    85.6    January   1.0
3    95.5   February   2.0
7   104.8      March   3.0
0   354.7      April   4.0
8   283.5        May   5.0
6   238.7       June   6.0
5   152.0       July   7.0
1    55.4     August   8.0
11  212.7  September   9.0
10  249.6    October  10.0
9   278.8   November  11.0
2   176.5   December  12.0

두 개의 열로 정렬하려면 sort_values에 열 라벨의 목록을 전달하고 정렬 우선 순위에 따라 열 라벨을 정렬합니다. df.sort_values(['2', '0'])을 사용하면 열 2 다음에 열 0으로 정렬됩니다. 이 예시에서는 각 값이 고유하기 때문에 실제로 이렇게 정렬하는 것은 의미가 없습니다.

반응형

댓글