반응형
파이썬 데이터 분석 시리즈 8편: 알아두면 유용한 Pandas 기능 - Part 2
이번 포스트에서는 Pandas 라이브러리의 Groupby, Merging, 그리고 데이터 형태 변경에 대해 알아보겠습니다.
Groupby
Groupby 함수는 데이터를 그룹으로 묶어 통계를 내거나 집계 함수를 적용할 때 사용됩니다.
import pandas as pd
data = {'Company': ['GOOG', 'GOOG', 'MSFT', 'MSFT', 'FB', 'FB'],
'Person': ['Sam', 'Charlie', 'Amy', 'Vanessa', 'Carl', 'Sarah'],
'Sales': [200, 120, 340, 124, 243, 350]}
df = pd.DataFrame(data)
grouped = df.groupby('Company')
print(grouped.mean())
Output:
Sales
Company
FB 296.5
GOOG 160.0
MSFT 232.0
Merging
데이터프레임 간에 병합을 수행하려면 Pandas의 merge 함수를 사용할 수 있습니다.
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2'],
'B': ['B0', 'B1', 'B2'],
'key': ['K0', 'K1', 'K2']})
df2 = pd.DataFrame({'C': ['C0', 'C1', 'C2'],
'D': ['D0', 'D1', 'D2'],
'key': ['K0', 'K1', 'K2']})
merged = pd.merge(df1, df2, on='key')
print(merged)
Output:
A B key C D
0 A0 B0 K0 C0 D0
1 A1 B1 K1 C1 D1
2 A2 B2 K2 C2 D2
데이터 형태 변경
Pandas는 데이터의 형태를 바꾸는 데 유용한 여러 가지 방법을 제공합니다. 여기서는 피벗 테이블 생성을 살펴봅니다.
df = pd.DataFrame({'A': ['foo', 'foo', 'foo', 'bar', 'bar', 'bar'],
'B': ['one', 'one', 'two', 'two', 'one', 'one'],
'C': ['small', 'large', 'large', 'small','small', 'large'],
'D': [1, 2, 2, 3, 3, 4],
'E': [2, 4, 5, 5, 6, 6]})
table = pd.pivot_table(df, values='D', index=['A', 'B'],
columns=['C'], aggfunc=np.sum)
print(table)
Output:
C large small
A B
bar one 4.0 3.0
two NaN 3.0
foo one 2.0 1.0
two 2.0 NaN
Pandas의 Groupby, Merging, 데이터 형태 변경 기능은 데이터 분석에 매우 유용하며, 이들은 Pandas의 핵심 기능 중 일부입니다. 다음 시간에는 이러한 기능들을 활용하는 실제 예제를 살펴보도록 하겠습니다.
반응형
LIST
'데이터 분석 도전기' 카테고리의 다른 글
파이썬 데이터 분석 시리즈 12편: 실제 데이터로 데이터 분석하기 (0) | 2023.06.19 |
---|---|
파이썬 데이터 분석 시리즈 11편: 데이터 클린징과 전처리 (0) | 2023.06.19 |
파이썬 데이터 분석 시리즈 10편: 데이터 시각화 라이브러리 Matplotlib과 Seaborn 소개 (0) | 2023.06.19 |
파이썬 데이터 분석 시리즈 9편: 알아두면 유용한 Pandas 기능 - Part 3 (0) | 2023.06.19 |
파이썬 데이터 분석 시리즈 7편: 알아두면 유용한 Pandas 기능 - Part 1 (0) | 2023.06.18 |
파이썬 데이터 분석 시리즈 6편: Pandas를 이용한 데이터 분석 소개 (0) | 2023.06.18 |
파이썬 데이터 분석 시리즈 5편: 알아두면 유용한 NumPy 기능 - Part 3 (0) | 2023.06.18 |
파이썬 데이터 분석 시리즈 4편: 알아두면 유용한 NumPy 기능 - Part 2 (0) | 2023.06.18 |