본문 바로가기
데이터 분석 도전기

파이썬 데이터 분석 시리즈 8편: 알아두면 유용한 Pandas 기능 - Part 2

by 프로 탈출러 2023. 6. 18.
반응형
파이썬 데이터 분석 시리즈 8편: 알아두면 유용한 Pandas 기능 - Part 2

파이썬 데이터 분석 시리즈 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