
데이터 병합이란, 2개 이상의 데이터 프레임을 하나로 병합하여 하나의 결과 집합을 만드는 것을 의미한다. (Join, Merge라고 표현)
데이터 병합에는 아래의 4가지 방식이 존재한다.
데이터 병합은 각각의 데이터의 구조에 따라 다른 방식으로 병합이 이루어져야 한다.
dataframe 간 조건 조건을 만족하는 데이터만을 합치는 것을 의미 (교집합 개념)

해당 그림에서 눈여겨보아야 하는 부분은 공통된 데이터 부분에서 같은 값을 공유하여 1:1로 매핑되어 있는 것을 확인할 수 있다. (One-to-One)

위의 그림과 다르게 왼쪽에 존재하는 데이터가 오른쪽에 존재하지 않는다. 그래서, 왼쪽과 오른쪽에 다 존재하는 데이터를 가지는 경우만 결과로 나타난다.
이렇게, 어느 한쪽에 동일한 데이터가 여러개 존재하여 조인되는 경우는 One-to-Many 라고 한다.
외부 조인은 조건에 부합하지 않아도, 한쪽에 데이터가 있다면, 결합하는 방식 (합집합으로 생각하면 된다.)

외부 조인의 일종으로 첫번째 dataframe을 기준으로 다른 dataframe을 결합한다.

Right join
right join은 left join과 동일하게 작동하며, 단지 기준 대상이 두번째 dataframe이 된다는 점만 다르므로, 설명은 생락한다.
Pandas의 데이터프레임 병합 구현 방법Pandas 의 merge()
df.merge(다른 df, on='c', how='inner')on : 결합 기준 (DB에서는 보통 PK)how : 결합 방법 (inner, outer, left ...)Dataframe의 join()
df.join(다른 df, on='c', how='inner')on : 결합 기준 (DB에서는 보통 PK)how : 결합 방법 (inner, outer, left ...)
join()과merge()굉장히 유사하나,
join()은 인덱스를 기준으로 결합하는 구조이고,merge()는 컬럼을 기반으로 결합한다.
Pandas Index 기반 데이터 결합pandas에서는 index를 기반으로 데이터 병합이 가능하다.

데이터 병합과는 달리 서로 다른 dataframe 또는 Series을 그대로 연결(Concatenate)하여 결과 집합을 만들 수 있다.
Pandas의 데이터프레임 연결 구현 방법pd.concat(df1,df2, axis=, ...) 의 방식으로 사용하며, axis 값에 따라 연결 방향이 달라진다.
axis = 0 : 행 방향 연결 (상/하 연결)axis = 1 : 열 방향 연결 (좌/우 연결)NaN 처리된다.실습 코드는 아래의 링크를 참고한다.