본문 바로가기
Language/Python

pd.concat 함수

by Mesut Özil 2023. 12. 30.

pd.concat

pd.concat 함수는 pandas에서 사용되는 데이터프레임 연결하는 함수입니다.

주로 2개 이상의 데이터프레임을 또는 열 방향으로 이어붙일 때 사용됩니다.

 

기본 구조

  • pd.concat([df1, df2])

 

df1df2가 아래와 같을 때

자주 사용되는 주요 파라미터 3개에 대한 설명입니다.

 

# df1
    A   B  key
0  A0  B0  K0
1  A1  B1  K1
2  A2  B2  K2

# df2
    A   B   C  key
0  A3  B3  C3  K0
1  A4  B4  C4  K1
2  A5  B5  C5  K2

 

1. axis

  • axis=0(행 방향) / axis=1(열 방향)
  • default = 0
  • 연결할 방향을 나타냅니다. 0이면 행 방향(위아래), 1이면 열 방향(좌우)
import pandas as pd

# pd.concat으로 데이터프레임 연결 (행 방향)
result_row = pd.concat([df1, df2], axis=0)

# 결과
result_row:
    A   B  key  C
0  A0  B0  K0  NaN
1  A1  B1  K1  NaN
2  A2  B2  K2  NaN
0  A3  B3  K0  C3
1  A4  B4  K1  C4
2  A5  B5  K2  C5

--------------------------------------------------------------

# pd.concat으로 데이터프레임 연결 (열 방향)
result_col = pd.concat([df1, df2], axis=1)

# 결과
result_col:
    A   B  key  A   B   C  key
0  A0  B0  K0  A3  B3  C3  K0
1  A1  B1  K1  A4  B4  C4  K1
2  A2  B2  K2  A5  B5  C5  K2

 

2. ignore_index

  • ignore_index=True(새로운 인덱스 부여)ignore_index=False(기존 인덱스)
  • default = False
  • True이면 연결된 결과의 인덱스를 무시하고 새로운 인덱스를 부여
import pandas as pd

# pd.concat으로 데이터프레임 연결 (ignore_index=True)
result_ignore_true = pd.concat([df1, df2], ignore_index=True)

# 결과
result_ignore_true:
    A   B  key  C
0  A0  B0  K0  NaN
1  A1  B1  K1  NaN
2  A2  B2  K2  NaN
3  A3  B3  K0  C3
4  A4  B4  K1  C4
5  A5  B5  K2  C5

---------------------------------------------------------------

# pd.concat으로 데이터프레임 연결 (ignore_index=False)
result_ignore_false = pd.concat([df1, df2], ignore_index=False)

# 결과
result_ignore_false:
    A   B  key  C
0  A0  B0  K0  NaN
1  A1  B1  K1  NaN
2  A2  B2  K2  NaN
0  A3  B3  K0  C3
1  A4  B4  K1  C4
2  A5  B5  K2  C5
1  A4  B4  K1
2  A5  B5  K2

 

3. join

  • join='inner'(교집합) / join='outer'(합집합)
  • default = 'outer'
  • 열 이름이 중복되는 경우, 'inner'는 교집합, 'outer'는 합집합을 사용하여 연결
import pandas as pd

# pd.concat으로 데이터프레임 연결 (join='outer')
result_outer = pd.concat([df1, df2], ignore_index=True, join='outer')

# 결과
result_outer:
    A   B  key  C
0  A0  B0  K0  NaN
1  A1  B1  K1  NaN
2  A2  B2  K2  NaN
3  A3  B3  K0  C3
4  A4  B4  K1  C4
5  A5  B5  K2  C5

----------------------------------------------------------------------

# pd.concat으로 데이터프레임 연결 (join='inner')
result_inner = pd.concat([df1, df2], ignore_index=True, join='inner')

# 결과
result_inner:
    A   B  key
0  A0  B0  K0
1  A1  B1  K1
2  A2  B2  K2
3  A3  B3  K0
4  A4  B4  K1
5  A5  B5  K2

 

 

 

본 게시글은 ChatGPT의 도움을 받아 작성하였습니다.

'Language > Python' 카테고리의 다른 글

os 모듈  (0) 2024.01.15
pd.merge 함수  (0) 2024.01.01
chr 함수, ord 함수 (시저 암호)  (0) 2023.12.28
Fraction 클래스  (2) 2023.12.27
NumPy 기본 구문 & 함수  (2) 2023.12.26