Journal

빅데이터 분석가 양성과정 29일차

statsbymin 2022. 8. 10. 07:18

pandas 라이브러리로 데이터프레임 합치기

 

1. 두 데이터프레임 연결하기

concat() : 두 데이터프레임을 연결해서 하나의 데이터프레임으로 만들 수 있다.

  • 두 데이터프레임을 위/아래 또는 왼쪽/오른쪽으로 연결하기만 함
  • pd.concat([데이터프레임1, 데이터프레임2])
  •  axis=0(default) : 위에서 아래로 합치기, axis=1 : 죄우로 합치기

 

2. 두 데이터프레임 합치기(병합하기)

merge() : 두 데이터프레임을 합치기

  • merge(df1, df2) : 두 데이터프레임에 동일한 이름을 가진 컬럼을 기준으로 두 데이터프레임을 합침

merge()를 통해 어떻게 두 데이터프레임을 결합시킬 것인가에 대해 보다 상세한 기능을 제공함 (SQL의 JOIN기능과 동일)

  • merge(데이터프레임1, 데이터프레임2, how=결합방법)
  • 결합방법
    • inner : 내부 조인 - SQL의 INNER JOIN 과 동일
    • outer : 완전 외부 조인 - SQL의 OUTER JOIN 과 동일
    • left : 왼쪽 우선 외부 조인 - SQL의 LEFT OUTER JOIN 과 동일
    • right : 오른쪽 우선 외부 조인 - SQL의 RIGHT OUTER JOIN 과 동일

1. inner(default) : 내부 조인 - SQL의 INNER JOIN

  • 동작 방식
    1. on의 컬럼값이 두 데이터프레임에서 동일한 행 찾기
    2. 각 동일한 행의 컬럼/컬럼값만 가져오기

2. outer : 완전 외부 조인 - SQL의 OUTER JOIN

  • 동작 방식
    1. on의 컬럼값이 두 데이터프레임에서 동일한 행 찾기
    2. 각 동일한 행의 컬럼/컬럼값 가져와 붙이기
    3. 각 데이터프레임에서 on의 컬럼값이 다른 나머지 행을 찾기
    4. 각 나머지 행의 컬럼/컬럼값을 가져와 별도 행으로 붙이기
    5. 두 데이터프레임 각각에만 있는 컬럼이어서, 컬럼값이 없을 경우 데이터 없음(NaN)으로 표기하기

 

3. left : 왼쪽 우선 외부 조인 - SQL의 LEFT OUTER JOIN

  • 동작 방식
    1. 왼쪽 데이터프레임의 행을 모두 가져오기
    2. 왼쪽 데이터프레임의 행에 있는 on의 컬럼값이 동일한 오른쪽 데이터프레임의 행만 컬럼과 함께 가져와 붙이기
    3. 오른쪽 데이터프레임에 없는 on의 컬럼값을 가진 왼쪽 데이터프레임의 오른쪽 데이터프레임 컬럼들에는 데이터 없음(NaN)으로 표기하기

4. right : 오른쪽 우선 외부 조인 - SQL의 RIGHT OUTER JOIN

  • 동작 방식
    1. 오른쪽 데이터프레임의 행을 모두 가져오기
    2. 오른쪽 데이터프레임의 행에 있는 on의 컬럼값이 동일한 왼쪽 데이터프레임의 행만 컬럼과 함께 가져와 붙이기
    3. 왼쪽 데이터프레임에 없는 on의 컬럼값을 가진 오른쪽 데이터프레임의 왼쪽 데이터프레임 컬럼들에는 데이터 없음(NaN)으로 표기하기

컬럼이 아닌 인덱스를 기준 컬럼으로 사용하기

  • merge(데이터프레임1, 데이터프레임2, left_index=True, right_index=True) : 기준 컬럼을 명시할 수도 있음

 

배운 merge를 활용해 일별 코로나 데이터 파일을 결합하는 실습을 진행하였다.