Skip to content

Pandas DataFrame 정렬: 예제와 팁

Updated on

Pandas DataFrame은 Python에서 데이터 분석에 강력한 도구입니다. 대용량 데이터셋을 쉽게 저장하고 조작할 수 있습니다. 데이터를 정렬하는 것은 데이터를 탐색하고 시각화하는 데 유용한 일반적인 작업입니다. 이 튜토리얼에서는 Pandas DataFrame에서 데이터를 정렬하는 방법을 포함하여 열, 여러 열, 인덱스 등을 기준으로 정렬하는 방법을 다룰 것입니다.

Python에서 데이터 시각화를 빠르게 만들어 보시겠어요?

PyGWalker (opens in a new tab)는 Jupyter Notebook 기반 환경에서 데이터 분석 및 시각화 작업을 속도 내어 줄 수 있는 오픈 소스 Python 프로젝트입니다.

Pandas Dataframe (또는 Polars Dataframe)을 시각적 사용자 인터페이스로 구성하여 변수를 드래그앤드롭으로 그래프를 쉽게 만들 수 있습니다. 다음 코드를 사용하세요:

pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)

이제 온라인 노트북에서 PyGWalker를 바로 실행해 볼 수 있습니다:

그리고, GitHub에서 ⭐️를 부탁드립니다!

Run PyGWalker in Kaggle Notebook (opens in a new tab)Run PyGWalker in Google Colab (opens in a new tab)Give PyGWalker a ⭐️ on GitHub (opens in a new tab)
Run PyGWalker in Kaggle Notebook (opens in a new tab)Run PyGWalker in Google Colab (opens in a new tab)Run PyGWalker in Google Colab (opens in a new tab)

Pandas DataFrame이란?

Pandas DataFrame은 행과 열을 포함하는 2차원 테이블과 같은 데이터 구조입니다. 숫자, 문자열, 날짜와 같은 다양한 데이터 유형을 저장할 수 있습니다. 이를 스프레드시트나 SQL 테이블과 비슷한 것으로 생각할 수 있습니다. Python을 사용하여 데이터를 저장하고 조작하는 편리한 방법입니다.

Python에서 Pandas 설치하는 방법

Pandas DataFrame을 정렬하기 전에 시스템에 Pandas가 설치되어 있는지 확인해야 합니다. 이를 위해 터미널이나 명령 프롬프트에서 다음 명령을 실행합니다:

pip install pandas

이 명령은 최신 버전의 Pandas를 시스템에 설치합니다.

Pandas DataFrame 만들기

Pandas DataFrame을 만드는 방법은 여러 가지가 있습니다. 그 중 가장 일반적인 방법 중 하나는 리스트 사전을 사용하여 만드는 것입니다. 다음은 예시입니다:

```python
import pandas as pd
 
data = {'이름': ['John', 'Jane', 'Bob', 'Lisa'],
        '나이': [25, 30, 45, 23],
        '급여': [50000, 60000, 80000, 40000]}
 
df = pd.DataFrame(data)
 
print(df)

결과 :

   이름  나이    급여
0  John  25  50000
1  Jane  30  60000
2   Bob  45  80000
3  Lisa  23  40000

이 예제에서는 세 개의 리스트로 구성된 사전을 만들고, 각 리스트는 DataFrame의 열을 나타냅니다. 그런 다음 pd.DataFrame() 함수를 사용하여 사전에서 DataFrame을 만듭니다.

오름차순과 내림차순 정렬의 차이점은 무엇인가요?

Pandas DataFrame을 정렬하기 전에, 오름차순 정렬과 내림차순 정렬의 차이점을 이해하는 것이 중요합니다. 오름차순 정렬은 값이 가장 작은 것부터 가장 큰 것까지 정렬됩니다. 내림차순 정렬은 값이 가장 큰 것부터 가장 작은 것까지 정렬됩니다.

열로 Pandas DataFrame을 정렬하는 방법은 무엇인가요?

DataFrame을 열로 정렬하는 것은 일반적인 작업입니다. sort_values() 메소드를 사용하여 하나의 열로 DataFrame을 정렬할 수 있습니다. 다음은 예입니다.

import pandas as pd
 
data = {'이름': ['John', 'Jane', 'Bob', 'Lisa'],
        '나이': [25, 30, 45, 23],
        '급여': [50000, 60000, 80000, 40000]}
 
df = pd.DataFrame(data)
 
# 나이 열을 오름차순으로 정렬합니다
df.sort_values('나이', ascending=True, inplace=True)
 
print(df)

결과 :

   이름  나이    급여
3  Lisa  23  40000
0  John  25  50000
1  Jane  30  60000
2   Bob  45  80000

이 예에서는 sort_values() 메소드를 사용하여 DataFrame을 '나이' 열을 기준으로 오름차순으로 정렬합니다. ascending 파라미터를 True로 설정하여 오름차순으로 정렬합니다. inplace 파라미터를 True로 설정하여 원래 DataFrame을 수정합니다.

Pandas DataFrame을 여러 열로 정렬할 수 있나요?

예, Pandas DataFrame은 여러 열을 기준으로 정렬할 수 있습니다. sort_values() 메서드에 열 이름의 리스트를 전달해야 합니다. 다음은 예제입니다:

import pandas as pd
 
data = {'Name': ['John', 'Jane', 'Bob', 'Lisa'],
        'Age': [25, 30, 45, 23],
        'Salary': [50000, 60000, 80000, 40000]}
 
df = pd.DataFrame(data)
 
# Age 열을 오름차순으로 정렬한 후, Salary 열을 내림차순으로 정렬합니다.
df.sort_values(['Age', 'Salary'], ascending=[True, False], inplace=True)
 
print(df)

출력:

   Name  Age  Salary
3  Lisa   23   40000
0  John   25   50000
1  Jane   30   60000
2   Bob   45   80000

이 예제에서는 DataFrame을 "Age" 열을 기준으로 오름차순으로 정렬한 후, "Salary" 열을 기준으로 내림차순으로 정렬했습니다. sort_values() 메서드에 열 이름으로 이루어진 리스트를 전달하고 각 열에 대한 정렬 방향을 나타내는 부울 값 리스트를 ascending 매개변수에 전달해 정렬 방향을 지정했습니다.

Pandas DataFrame을 인덱스로 정렬하는 방법은?

sort_index() 메서드를 사용하여 Pandas DataFrame을 인덱스로 정렬할 수도 있습니다. 다음은 예제입니다:

import pandas as pd
 
data = {'Name': ['John', 'Jane', 'Bob', 'Lisa'],
        'Age': [25, 30, 45, 23],
        'Salary': [50000, 60000, 80000, 40000]}
 
df = pd.DataFrame(data)
 
# 인덱스를 내림차순으로 정렬합니다.
df.sort_index(ascending=False, inplace=True)
 
print(df)

출력:

   Name  Age  Salary
3  Lisa   23   40000
2   Bob   45   80000
1  Jane   30   60000
0  John   25   50000

이 예제에서는 sort_index() 메서드를 사용하여 DataFrame을 인덱스를 기준으로 내림차순으로 정렬했습니다. ascending 매개변수를 False로 설정하여 내림차순으로 정렬해줍니다.

Pandas DataFrame을 날짜별로 정렬하는 방법?

Pandas DataFrame을 날짜별로 정렬하는 것은 시계열 분석에서 많이 사용되는 작업입니다. sort_values() 메서드를 datetime 데이터 유형과 함께 사용할 수 있습니다. 다음은 예시입니다:

import pandas as pd
 
data = {'Date': ['2022-01-01', '2022-01-02', '2022-01-03', '2022-01-04'],
        'Sales': [100, 200, 150, 300]}
 
df = pd.DataFrame(data)
 
# Date 열을 datetime 데이터 유형으로 변환
df['Date'] = pd.to_datetime(df['Date'])
 
# Date 열을 오름차순으로 정렬
df.sort_values('Date', ascending=True, inplace=True)
 
print(df)

출력:

        Date  Sales
0 2022-01-01    100
1 2022-01-02    200
2 2022-01-03    150
3 2022-01-04    300

이 예제에서는 "Date" 열과 "Sales" 열이 포함된 DataFrame을 만들었습니다. "Date" 열을 datetime 데이터 유형으로 변환하기 위해 to_datetime() 메서드를 사용했습니다. 그 후에 "Date" 열을 기준으로 DataFrame을 오름차순으로 정렬하기 위해 sort_values() 메서드를 사용했습니다.

Pandas DataFrame 값 정렬

sort_values() 메서드는 Pandas DataFrame을 정렬하는 기본적인 방법입니다. 하나의 열 또는 여러 열을 기준으로 DataFrame을 정렬할 수 있습니다. 또한 인덱스 또는 날짜별 정렬도 지원합니다.

결론

Pandas DataFrame에서 데이터를 정렬하는 것은 데이터 분석 및 시각화에 필수적인 작업입니다. 이 튜토리얼에서는 열, 여러 열, 인덱스 및 날짜별로 Pandas DataFrame을 정렬하는 방법을 다루었습니다. 또한 오름차순 및 내림차순 정렬의 차이점에 대해서도 논의했습니다. 이러한 기술을 숙달함으로써 프로처럼 데이터를 조작할 수 있게 될 것입니다.