반응형
Pandas 데이터 프레임 병합, 합치기
Pandas 데이터프레임을 결합하기 위해서는 두개의 데이터프레임이 모두 동일하게 가지고 있는 컬럼 정보를 설정하여 병합할 수 있다.
Join의 방법에는 inner join과 left/right 방식이 있다. Left Join을 사용하면 left 데이터 프레임의 로우 정보가 유지되기 때문에 데이터의 정보를 늘려가는 방식에 유용하게 사용될 수 있다.
######################
# Left Join / Inner Join
######################
import pandas as pd
df_1 = pd.DataFrame({'date': ['2011-01-01','2011-01-02','2011-03-01',
'2011-03-02','2022-04-01','2022-04-02'],
'color': ['red','blue','red','blue','green','blue'],
'height':[10,20,30,10,100,np.NaN],
'weight':[np.NaN,7,9,10,np.NaN,50]})
df_2 = pd.DataFrame({'date': ['2011-01-01', '2011-01-02' ],
'status':['in-progress','in-progress']})
df_merge_left = df_1.merge(df_2, on='date', how='left')
df_merge_inner = df_1.merge(df_2, on='date')
print("")
print("<df_merge_left>")
print(df_merge_left)
print("")
print("<df_merge_inner>")
print(df_merge_inner)
================================
<df_merge_left>
date color height weight status
0 2011-01-01 red 10.0 NaN in-progress
1 2011-01-02 blue 20.0 7.0 in-progress
2 2011-03-01 red 30.0 9.0 NaN
3 2011-03-02 blue 10.0 10.0 NaN
4 2022-04-01 green 100.0 NaN NaN
5 2022-04-02 blue NaN 50.0 NaN
<df_merge_inner>
date color height weight status
0 2011-01-01 red 10.0 NaN in-progress
1 2011-01-02 blue 20.0 7.0 in-progress
반응형
'Programming > Python' 카테고리의 다른 글
[Python] google driver 마운트 (0) | 2022.12.19 |
---|---|
[Python] 샘플 갯수에 따른 Uniform distirbution (0) | 2022.12.16 |
[Python] Pyplot 여러 개 그래프를 겹쳐서 그리기 (1) | 2022.12.13 |
[Python] Default 인수 (기본값 설정) (0) | 2022.12.10 |
[Python] 키워드인수와 딕셔너리 언패킹 (**) (0) | 2022.12.10 |