반응형
판다스 라이브러리를 사용하여 다중 조건을 기반으로 데이터를 그룹화하는 다양한 케이스에 대한 예시 코드와 함께 설명하겠습니다.
Case 1: 두 개의 열을 기준으로 그룹화하기
두 개의 열을 기준으로 데이터를 그룹화하고 각 그룹에 대한 통계를 계산하는 경우입니다.
import pandas as pd
# 샘플 데이터프레임 생성
data = {'과목': ['수학', '과학', '수학', '과학', '영어'],
'성별': ['남', '여', '남', '여', '여'],
'점수': [90, 85, 88, 92, 78]}
df = pd.DataFrame(data)
# '과목'과 '성별' 열을 기준으로 그룹화하여 평균 점수 계산
grouped = df.groupby(['과목', '성별'])['점수'].mean()
# 결과 확인
print(grouped)
Case 2: 여러 열에 대한 다중 조건을 기반으로 그룹화하기
여러 열에 대한 다중 조건을 기준으로 데이터를 그룹화하고 각 그룹에 대한 통계를 계산하는 경우입니다.
import pandas as pd
# 샘플 데이터프레임 생성
data = {'과목': ['수학', '과학', '수학', '과학', '영어'],
'성별': ['남', '여', '남', '여', '여'],
'학년': [1, 2, 1, 2, 3],
'점수': [90, 85, 88, 92, 78]}
df = pd.DataFrame(data)
# '과목', '성별', '학년' 열을 기준으로 그룹화하여 평균 점수 계산
grouped = df.groupby(['과목', '성별', '학년'])['점수'].mean()
# 결과 확인
print(grouped)
Case 3: 다중 조건을 기반으로 그룹화한 데이터 시각화
다중 조건을 기반으로 그룹화한 데이터를 시각화하는 경우입니다.
import pandas as pd
import matplotlib.pyplot as plt
# 샘플 데이터프레임 생성
data = {'과목': ['수학', '과학', '수학', '과학', '영어'],
'성별': ['남', '여', '남', '여', '여'],
'학년': [1, 2, 1, 2, 3],
'점수': [90, 85, 88, 92, 78]}
df = pd.DataFrame(data)
# '과목', '성별', '학년' 열을 기준으로 그룹화하여 평균 점수 계산
grouped = df.groupby(['과목', '성별', '학년'])['점수'].mean()
# 그룹별 평균 점수 시각화
grouped.unstack().plot(kind='bar', stacked=True)
plt.title('과목, 성별, 학년별 평균 점수')
plt.xlabel('그룹')
plt.ylabel('평균 점수')
plt.show()
위의 예시 코드에서는 판다스를 사용하여 다중 조건을 기반으로 데이터를 그룹화하고 그룹화된 데이터를 시각화하는 방법을 설명하였습니다. 이를 통해 데이터의 복잡한 구조를 다룰 수 있습니다.
반응형
'Python > Pandas' 카테고리의 다른 글
pandas dataframe 엑셀 파일 불러오기 및 수정 (0) | 2023.09.24 |
---|---|
pandas dataframe 집계 함수 활용 (sum, mean, count 등) (0) | 2023.09.23 |
pandas dataframe 그룹화 개념과 활용 (0) | 2023.09.21 |
pandas dataframe 결측치 처리 (0) | 2023.09.20 |
pandas dataframe 데이터 정렬과 변환 (0) | 2023.09.19 |