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 댓글