파이썬 판다스 데이터프레임 정렬 방법 sort_values()

 

1. 데이터프레임에 대해 정렬하는 방법(특정 컬럼 기준으로)

2. 시리즈로 정렬하는 방법(하나의 열에 대해)

3. 내림차순으로 바꾸는 방법

4. 그리고 여러 컬럼을 리스트로 묶는 방법 

 


 

시작합니다.

라이브러리를 호출하고, 데이터프레임을 생성합니다.

import pandas as pd

df = pd.DataFrame([
    [16, 7, 10],
    [15, 8, 11],
    [14, 9, 12]],
    columns = ['a', 'b', 'c'],
    index = [1, 2, 3]
)
df

 

df

1. 컬럼 'a'를 기준으로 데이터프레임을 정렬해봅시다.

# 프레임의 정렬
df.sort_values('a')

결과가 데이터프레임으로 나타난다는 것이 보이시나요?

이 점이 중요합니다.

2. 컬럼 'a'를 기준으로 시리즈를 정렬해봅시다.

# 시리즈의 정렬
df['a'].sort_values()

결과창이 시리즈로 나타난다는게 보이시나요?

결국 df를 호출한 뒤 ('a')라는 인자에 대해 정렬을 원한다면 데이터프레임으로 나타나고,

df['a']자체를 호출한 뒤 정렬하면 시리즈로 나타난다는 점을 인지하셔야 됩니다.

 

 

3번째로는 정렬 차순의 설명입니다.

sort_values는 오름차순, 내림차순의 파라미터가 있습니다.

해당 파라미터는 ascending으로 지정되어 있는데 기본 디폴트 값은 True로 되어있습니다. 즉, 오름차순이라는 것이죠.

위의 예시에서 ascending = False로 지정하고 내림차순으로 살펴보겠습니다.

# 프레임의 정렬, 내림차순
df.sort_values('a', ascending=False)

컬럼 'a'의 결과가 14, 15, 16순이 아니라 그 반대인 것을 볼 수 있습니다.

 

4. 마지막으로는 여러 컬럼을 기준으로 정렬 순서를 정할 수 있다는 겁니다.

column 인자를 리스트로 반환하면 됩니다.

# 프레임의 정렬, 리스트로 반환
df.sort_values(['b','c'], ascending=False)

'b', 'c' 컬럼에 대해서 내림차순으로 정렬된게 보이시나요?

 

이렇게 4가지를 살펴보았습니다.

1. 데이터프레임에 대해 정렬하는 방법(특정 컬럼 기준으로)

2. 시리즈로 정렬하는 방법(하나의 열에 대해)

3. 내림차순으로 바꾸는 방법

4. 그리고 여러 컬럼을 리스트로 묶는 방법 

+ Recent posts