wisdiom 아니고 wisdom

3. 데이터프레임 응용(4) 본문

👩‍💻/pandas

3. 데이터프레임 응용(4)

글로랴 2021. 1. 31. 21:11

4️⃣ 데이터프레임 합치기

📢 데이터프레임 연결

서로 다른 데이터프레임들의 구성 형태와 속성이 균일하다면, 행 또는 열 중에 어느 한 방향으로 이어 붙여도 데이터의 일관성을 유지할 수 있다. 기존 데이터프레임의 형태를 유지하면서 이어 붙이는 개념으로 Pandas concat() 함수를 활용한다.

 

📍 pandas.concat(objs, axis=0, join='outer', ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False, sort=False, copy=True)

- objs : DataFrame 또는 Series로 이루어진 리스트

- axis
   - 0 or 'index' : 위 아래 행 방향으로 연결
   - 1 or 'columns' : 좌우 열 방향으로 연결

- join
   - 'inner' : 두 df에 공통으로 속하는 행 또는 열(교집합)을 기준으로 합친다.
   - 'outer' : 두 df에 모든 행 또는 열(합집합)을 합친다.
   - ignore_index : 기존 행 인덱스 사용 여부

- keys : 계층적 index 사용(튜플입력)
- names : index에 이름부여(튜플입력)
- verify_integrity : index 중복확인
- copy : 복사여부

 

📢 데이터프레임 병합

merge() 함수는 어떤 기준에 의해 두 데이터프레임을 병합하는 것이다. 

이때 기준이 되는 열이나 인덱스를 키(key)라고 부른다. 

키(key)가 되는 열이나 인덱스는 반드시 양쪽 데이터프레임에 모두 존재해야 한다.

 

📍 pandas.merge(left, right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=False, copy=True, indicator=False, validate=None)

- left : DataFrame
- right : DataFrame or named Series
- how
   - 'left' : left frame의 key를 기준으로 병합
   - 'right : right frame의 key를 기준으로 병합
   - 'outer'
   - 'inner'
   - 'cross'
- on : 조인할 열 또는 인덱스 이름

 

📢 잠깐!! ✋
📌 merge() 함수와 boolean indexing 함께 사용해보자 🚨🔥

merge() 함수와 boolean indexing 을 함께 사용하면 원하는 데이터를 추출할 수 있다.

 

 

📢 데이터프레임 결합

Pandas join() 메소드는 merge() 함수를 기반으로 만들어졌기 때문에 기본 작동 방식이 서로 비슷하다. 단, join() 메소드는 두 데이터프레임의 "행 인덱스"를 기준으로 결합한다는 점에서 merge() 함수와 차이가 있다. 하지만, join() 메소드에 on=keys 옵션을 설정하면 행 인덱스 대신 다른 열을 기준으로 결합하는 것이 가능하다.

 

📍 pandas.DataFrame.join(other, on=None, how='left', lsuffix='', rsuffix='', sort=False)
반응형

'👩‍💻 > pandas' 카테고리의 다른 글

3. 데이터프레임 응용(6)  (0) 2021.02.02
3. 데이터프레임 응용(5)  (0) 2021.02.01
3. 데이터프레임 응용(0)  (0) 2021.01.31
3. 데이터프레임 응용(3)  (0) 2021.01.31
3. 데이터프레임 응용(2)  (0) 2021.01.31
Comments