
데이터를 합치는 concat()과 merge() 메서드
pd.concat과 pd.merge는 둘 다 데이터프레임을 결합하는 데 사용되는 메서드다. 그러나 각각 다른 방식으로 작동하며, 다른 상황에서 사용될 수 있다. 그래서 두 개념은 한 번에 정리해두는 게 좋겠다.
1. pd.concat()
pd.concat 함수는 주어진 데이터프레임을 연결(concatenate)하여 새로운 데이터프레임을 생성한다.
데이터프레임을 행 또는 열 방향으로 연결이 가능하다.
연결하는 데이터프레임의 구조와 인덱스는 유지되며, 연결한 결과는 단순히 데이터프레임을 이어붙인 형태로 반환된다.
일반적으로 pd.concat은 데이터프레임을 단순히 결합하고자 할 때 사용되는데 예를 들어, 여러 개의 데이터프레임을 행 방향으로 연결하여 전체 데이터셋을 구성하는 경우에 사용할 수 있다.
import pandas as pd
# 연결할 데이터프레임 생성
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df2 = pd.DataFrame({'A': [7, 8, 9], 'B': [10, 11, 12]})
# 데이터프레임을 행 방향으로 연결
result = pd.concat([df1, df2])
print(result)
A B
0 1 4
1 2 5
2 3 6
0 7 10
1 8 11
2 9 12
위의 예시에서는 pd.concat 함수를 사용하여 df1과 df2 데이터프레임을 행 방향으로 연결했다. result 데이터프레임은 단순히 df1과 df2를 이어붙인 형태로 출력된다.
2. pd.merge()
pd.merge 함수는 두 개 이상의 데이터프레임을 공통된 열 또는 인덱스를 기준으로 병합(merge)한다.
병합 기준으로 사용되는 열 또는 인덱스를 기준으로 데이터프레임을 조인(join)
데이터프레임 간에 공통된 열이나 인덱스가 있어야 한다.
일반적으로 pd.merge는 데이터프레임 간의 관계를 나타내는 열 또는 인덱스를 기준으로 데이터를 조합하고자 할 때 사용한다. 예를 들어, 공통된 열을 기준으로 주문 정보와 고객 정보를 조인하여 주문 내역에 고객 정보를 추가할 수 있다.
import pandas as pd
# 병합할 데이터프레임 생성
df1 = pd.DataFrame({'key': ['A', 'B', 'C'], 'value': [1, 2, 3]})
df2 = pd.DataFrame({'key': ['B', 'C', 'D'], 'value': [4, 5, 6]})
# 'key' 열을 기준으로 데이터프레임 병합
result = pd.merge(df1, df2, on='key')
print(result)
key value_x value_y
0 B 2 4
1 C 3 5
위의 예시에서는 pd.merge 함수를 사용하여 df1과 df2 데이터프레임을 'key' 열을 기준으로 병합했다. result 데이터프레임은 'key' 열을 기준으로 두 데이터프레임을 조인하여 공통된 값들만 포함하게 된다.
정리하면, pd.concat은 데이터프레임을 단순히 연결하는 데 사용하고, pd.merge는 데이터프레임을 병합하고자 할 때 사용할 수 있다.
'데이터 > Pandas' 카테고리의 다른 글
[Pandas] iloc, loc 인덱싱 구분하기(차이와 사용방법) (0) | 2023.05.27 |
---|---|
[Pandas] read_csv / read_excel - csv/excel 파일 읽기 (0) | 2022.12.14 |
댓글