데이터 분석을 위한 Pandas: 4. 데이터 정렬 및 그룹핑

Pandas를 사용한 데이터 정렬 및 그룹핑은 데이터 분석에서 매우 중요한 작업입니다. 이를 통해 데이터를 체계적으로 구성하고 의미 있는 통찰을 얻을 수 있습니다.


 데이터 정렬


단일 열로 정렬


`sort_values()` 메서드를 사용하여 단일 열을 기준으로 데이터를 정렬할 수 있습니다:


# python

import pandas as pd


df = pd.DataFrame({'A': [3, 1, 2], 'B': [6, 4, 5]})

sorted_df = df.sort_values('A')

#


여러 열로 정렬


여러 열을 기준으로 정렬할 때는 열 이름의 리스트를 사용합니다:


# python

sorted_df = df.sort_values(['A', 'B'])

#


정렬 순서를 지정할 수도 있습니다:


# python

sorted_df = df.sort_values(['A', 'B'], ascending=[True, False])

#


인덱스로 정렬


`sort_index()` 메서드를 사용하여 인덱스를 기준으로 정렬할 수 있습니다:


# python

sorted_df = df.sort_index()

#


 데이터 그룹핑


기본 그룹핑


`groupby()` 메서드를 사용하여 데이터를 그룹화할 수 있습니다:


# python

grouped = df.groupby('A')

#


집계 함수 적용


그룹화된 데이터에 집계 함수를 적용할 수 있습니다:


# python

mean_values = grouped.mean()

sum_values = grouped.sum()

#


여러 열로 그룹핑


여러 열을 기준으로 그룹화할 수 있습니다:


# python

grouped = df.groupby(['A', 'B'])

#


사용자 정의 집계 함수


`agg()` 메서드를 사용하여 사용자 정의 집계 함수를 적용할 수 있습니다:


# python

def custom_func(x):

    return x.max() - x.min()


result = grouped.agg(custom_func)

#


여러 집계 함수 동시 적용


여러 집계 함수를 동시에 적용할 수 있습니다:


# python

result = grouped.agg(['mean', 'sum', 'count'])

#


열별로 다른 집계 함수 적용


각 열에 다른 집계 함수를 적용할 수 있습니다:


# python

result = grouped.agg({'C': 'sum', 'D': 'mean'})

#


 고급 그룹핑 기능


그룹 필터링


`filter()` 메서드를 사용하여 특정 조건을 만족하는 그룹만 선택할 수 있습니다:


# python

filtered = df.groupby('A').filter(lambda x: x['B'].mean() > 3)

#


그룹 변환


`transform()` 메서드를 사용하여 그룹별로 데이터를 변환할 수 있습니다:


# python

transformed = df.groupby('A').transform(lambda x: x - x.mean())

#


이러한 정렬 및 그룹핑 기능을 활용하면 복잡한 데이터셋에서도 의미 있는 패턴을 발견하고 효과적으로 분석할 수 있습니다.




#파이썬 #Python #데이터분석 #dataanalysis #데이터정렬 #데이터그룹핑 #pandas #sorting #groupby #aggregation

0 댓글