개요
2022.12.25 - [Python] Pandas - 데이터프레임 합성 1에 이어서 두 개 이상의 DataFrame을 합치는 병합 및 연결 방법을 정리한다.
데이터 연결(concat)
기준 열을 사용하지 않고 데이터를 단순히 연결한다. 기본적으로 위/아래로 데이터 행을 연결하며, 인덱스 값 중복이 발생할 수 있다.
Series 연결
s1 = pd.Series([0, 1], index=['A', 'B'])
s2 = pd.Series([2, 3, 4], index=['A', 'B', 'C'])
s1
s2
pd.concat([s1, s2])
# 실행 결과
A 0
B 1
dtype: int64
A 2
B 3
C 4
dtype: int64
A 0
B 1
A 2
B 3
C 4
dtype: int64
연결할 데이터 목록을 list로 전달한다.
DataFrame 열 연결
좌우로 데이터를 연결할 때는 axis=1로 설정하면 된다.
df1 = pd.DataFrame(
np.arange(6).reshape(3, 2),
index=['a', 'b', 'c'],
columns=['데이터1', '데이터2'])
df2 = pd.DataFrame(
5 + np.arange(4).reshape(2, 2),
index=['a', 'c'],
columns=['데이터3', '데이터4'])
df1
df2
pd.concat([df1, df2], axis=1)
# 실행 결과
데이터1 데이터2
a 0 1
b 2 3
c 4 5
데이터3 데이터4
a 5 6
c 7 8
데이터1 데이터2 데이터3 데이터4
a 0 1 5.0 6.0
b 2 3 NaN NaN
c 4 5 7.0 8.0
참고 문서