두 함수 모두, 여러개의 DataFrame(이하 df)을 하나로 합칠 때 사용하는, pandas에서 제공하는 함수다.
두 함수의 목적은 비슷해보일지 모르나, 중요한 차이점이 있다.
꼭 알고 사용하도록 하자.
1. concat([df1, df2, ...] axis)
concat()은, 데이터프레임을 "합친다" 보다는 "이어 붙인다"에 좀 더 가깝다.
백문이 불여일견, 직접 보도록 하자.
아래와 같이, df1과 df2라는 2개의 데이터프레임이 있다.
concat()을 사용해서 가로 방향으로 합쳐보자.
** axis 파라미터에는 1과 0이 들어갈 수 있다.
0은 행을 의미한다. 좀 더 자세히는, 행이 전개되는 방향, 즉 위/아래 방향(세로)을 의미한다.
1은 열을 의미한다. 좀 더 자세히는, 열이 전개되는 방향, 즉 좌/우 방향(가로)을 의미한다. **
보면 알겠지만, store_id라는 컬럼이 중복임에도 불구하고, 중복이거나 말거나 그냥 갖다 붙였다.
2. merge(df1, df2, how, on)
이번엔 merge()를 보자.
how : 기준 df
on : 기준 컬럼
왼쪽 df( 앞에 나온 df1이 왼쪽 df에 해당한다)의 store_id 컬럼을 기준으로 합친 것을 볼 수 있다.
SQL의 LEFT JOIN ... ON ... 구문과 굉장히 흡사하다. SQL의 JOIN 구문처럼 how parameter에 right, outer 등등을 사용할 수 있다.
이건 직접 해 보기로 하자.
concat()과 merge()의 기본적인 사용 방법과 차이점에 대해 알아보았다.
물론 더 많은 쓰임과 사용 방법이 있겠으나, 이 정도만 알아도 충분 할 것이다.
'STUDY > Python' 카테고리의 다른 글
[Anaconda] 아나콘다란? / 아나콘다 설치 (2) | 2024.03.08 |
---|---|
[visualization] 결측치 시각화 - missingno (0) | 2024.01.19 |
[Pandas] describe() (0) | 2024.01.16 |
[Pandas] idxmax(), idxmin() (2) | 2024.01.01 |
[데이터 과학을 위한 파이썬 프로그래밍_2판] 9. 파이썬 스타일 코드(2) (0) | 2023.08.23 |