merge와 concat의 차이점:
2024.01.12 - [Python] - [pandas] DataFrame 합치기 : concat 과 merge
[pandas] DataFrame 합치기 : concat 과 merge
Pandas에서 merge와 concat은 DataFrame 를 합치는(결합하는) 데 사용되는 방법.merge:SQL join과 유사함.두 DataFrame 간의 공통 column이나 index를 기준 column ( on parameter)으로 삼아 결합inner, outer, left, right 다양한
ds31x.tistory.com
merge는 특정 column을 기준으로 하는 데이터프레임 결합이 필요한 경우 이용됨.
merge 는 기본적으로 inner join임.
concat 이 기본적으로 outer join인 것과 다름에 유의.
merge 기준 설정:
merge의 경우 기준으로 사용되는 column은 on parameter를 통해 지정한다.
(합쳐지는 대상 데이터프레임 모두 해당 이름의 column을 가지고 있어야 함)
# merge DataFrame
df_ret = pd.merge(
df_st_data,
df_st_credit,
on = 'student_id'
)
df_ret.head(3)
만일,
첫번째 argument (left라고 지칭됨)와 두번째 argument (right라고 지칭됨)로 지정된 DataFrame 객체들이
merge의 기준이 되는 column의 이름이 다를 경우에는
left_on (left에 해당하는 데이터프레임 객체에서 기준이 되는 column을 argument로 지정)와
right_on(right에 해당)을 이용함.
# merge DataFrame
df_ret = pd.merge(
df_st_data,
df_st_credit,
left_on = 'student_id',
right_on = 'student_id'
)
df_ret
index를 이용한 merge:
"column 기준"이 아닌 index를 기준으로 merge도 가능함.
특정 column이 아닌 index 를 이용하는 경우는
left_index=True및right_index=True를 사용하면 됨.
4가지 join
merge에서 사용되는 네가지 join은 다음과 같음.

어떤 join으로 동작할지는 how 파라메터의 값으로 결정되는데,
참고로, default로는 inner가 사용됨
how로 사용가능한 값은 다음과 같음:
"left": Left Join"right": Rigth Join"inner": Inner Join"outter": Outer Join"cross": Cartesian Product 를 수행함 (이 경우,on,left_on,right_on등의 기준을 설정하는 파라미터 설정을 지정할 수 없음)
df_outer = pd.merge(
df_st_data,
df_st_credit,
on = 'student_id',
how = 'outer'
)
위의 조각코드들을 수행하려면 다음의 코드를 미리 수행하고 테스트해볼 것.
# Load Library
import pandas as pd
# Create DataFrame
student_data = {
'student_id': ['19973037', '20220102', '20232323'],
'grade': ['b', 'a', 'a+']
}
df_st_data = pd.DataFrame(
student_data,
columns=['student_id', 'grade']
)
student_credit = {
'student_id': ['973037', '20220102', '20232323', '771231'],
'credit': ['16', '18', '21', '888']
}
df_st_credit = pd.DataFrame(
student_credit,
columns=['student_id', 'credit']
)
같이 보면 좋은 자료
2025.05.16 - [Python] - [ML] pandas.DataFrame 에서 EDA에 적합한 메서드 요약
[ML] pandas.DataFrame 에서 EDA에 적합한 메서드 요약
Pandas DataFrame에서 탐색적 데이터 분석(EDA)에 사용할 수 있는 주요 메서드들은 다음과 같음:2024.05.18 - [분류 전체보기] - [ML] Exploratory Data Analysis (EDA) [ML] Exploratory Data Analysis (EDA)Exploratory Data Analysis (
ds31x.tistory.com
'Python > pandas' 카테고리의 다른 글
| [DL] Pandas 로 csv 읽기: read_csv() (0) | 2024.04.13 |
|---|---|
| [pandas] 데이터 타입에 따른 column 추출: select_dtypes() (0) | 2024.01.12 |
| [pandas] DataFrame 합치기 : pd.concat()함수 와 .merge() 메서드 (0) | 2024.01.12 |
| [Term] ETL Tools (0) | 2024.01.10 |
| [pandas] dropna : missing value 처리 (삭제) (0) | 2024.01.09 |