PL/Python

Pandas merge함수 사용법 기초

PIYA 2022. 10. 26.

포스팅 목적

pandas 라이브러리의 merge함수 사용법을 공부해보자

 

merge함수

두 데이터프레임을 병합하는 함수.

 

두개의 함수가 있다는걸 유의해야 한다.

pandas.DataFrame.merge()가 있고,

pandas.merge()가 있다.

 

전자의 경우 인자로 병합대상이 되는 데이터프레임을 1개 넣어주지만

후자 pandas.merge()의 경우 병합대상 데이터프레임을 2개 써주어야한다.

 

함수원형

pd.merge(df_left, df_right, on=None, how="inner")

 

파라미터 how는 어떤 병합방식을 택할것인지를 넣어준다.

기본적으로 SQL의 inner join 방식이 사용된다.

 

파라미터 on은 어떤 칼럼을 기준으로 merge할 것인지를 써준다.

 

만약 df_left와 df_right의 각각 다른 이름을 가진 열을 병합하려면

left_onright_on 인자를 사용한다.

 

조인방법

inner join: 따로 설정 안하면 디폴트로 inner join을 수행한다.

교집합으로 이해하면 쉽다.

양쪽 데이터프레임이 모두 가지고있는 칼럼만 병합해서 보여준다.

 

outer join: 합집합으로 이해하자.

양쪽 데이터프레임에서 서로 없는 칼럼이 있어도 NaN값으로 채우며 병합한다.

 

예제코드

 

이해를 돕기위해 아주 간단한 코드를 작성했다!

데이터프레임 df_a와 df_b를 만들었고 country 칼럼에서 '한국'만 겹친다.

 

df_a = pd.DataFrame(['한국','가나','미국'],columns=['country'])
df_b = pd.DataFrame(['중국','일본','홍콩','한국'],columns=['country'])

df_a['population']=[5000,2000,3000]
df_a['code'] = 1,2,3

df_b['area'] = [32,10,5,50]
df_b['code'] = 4,5,6,1

df_ab_inner = pd.merge(df_a, df_b)
df_ab_outer = pd.merge(df_a, df_b, how='outer')

print(df_a)
print(df_b)
print(df_ab_inner)
print(df_ab_outer)

 

맨 마지막 print값 4개는 아래와 같은 모습이다.

 

 

 

끝내며

다른 조인방식도 있는데 일단 이것만 정리하고 넘어가자..

 

'PL > Python' 카테고리의 다른 글

pandas.DataFrame.apply 함수 기본 사용법  (0) 2022.10.27
pandas.DataFrame.groupby 기본 사용법  (0) 2022.10.27
numpy.r_ 연산자 사용법  (0) 2022.10.21
피쳐 중요도 feature_importances_  (0) 2022.10.18
[seaborn] barplot 기초  (0) 2022.10.18

댓글