■ concat 을 이용한 데이터 합치기
- 오른쪽으로 붙이기
행의 크기가 안맞으면 NaN값이 자동으로 삽입됨
pd.concat([df1,df2],axis=1)
- 아래로 붙이기
열 이름이 같지 않으면 NaN값으로 채워짐
pd.concat([df1,df2],axis=0)
■ merge 를 이용한 데이터 합치기
* 한 번에 두개씩만 가능
1. 기본
공통된 열의 공통 값만 합쳐짐
한쪽에만 있는 값은 합쳐지지 않음
pd.merge(df1,df2)
2. how 파라미터
- 한쪽이라도 있으면 NaN으로 채워지고 합쳐짐
pd.merge(df1,df2, how='outer')
- 왼쪽을 고정시키고 없는 값은 NaN으로 채워지고 합쳐짐 (오른쪽 기준은 'right')
pd.merge(df1,df2, how='left')
3. on 파라미터
특정 열을 기준으로 합치고 싶다면 on 사용
pd.merge(df1, df2, on='date', how='left')
결론
기준이 되는 열 없이 오른쪽으로 연결하거나 아래로 붙이고 싶다 = concat 사용
기준이 되는 열이 있거나, 두 데이터프레임의 공통적 요소를 고려한다 = merge 사용
+
concat을 사용할 때에는 각 데이터프레임의 길이를 파악해라
'Study doc. > Python' 카테고리의 다른 글
[Python] 알고 써라!! 판다스(Pandas) (1) | 2020.07.23 |
---|---|
[Python] 알고 써라!! 넘파이(Numpy) (0) | 2020.07.21 |
[Python] logloss가 뭐야? (0) | 2020.06.06 |
[Python] iloc vs loc (0) | 2020.06.01 |
[Python] apply, lambda 함수의 활용 + map 함수 (0) | 2020.06.01 |