DataFrame을 합치는 방법에 대해 알아보자.
merge 함수
- SQL의 join과 같은 역할을 한다.
pd.merge(데이터프레임1, 데이터프레임2, how = merge 방식, on=기준 column)
how : merge 방식(inner, outer, left, right) 중 하나를 지정한다. 기본값은 inner
on : merge를 수행할 기준 column을 지정한다.
fruit = pd.DataFrame({'Code':[123, 456, 789, 1011, 1112], 'Fruit':['Apple', 'Banana', 'Cherry', 'Lemon', 'Peach']})
grade = pd.DataFrame({'Code':[123, 789, 1314], 'Grade':['A', 'B', 'C']})
print(fruit)
# 출력:
# Code Fruit
# 0 123 Apple
# 1 456 Banana
# 2 789 Cherry
# 3 1011 Lemon
# 4 1112 Peach
print(grade)
# 출력:
# Code Grade
# 0 123 A
# 1 789 B
# 2 1314 C
print(pd.merge(fruit, grade, on = "Code"))
# 출력:
# Code Fruit Grade
# 0 123 Apple A
# 1 789 Cherry B
print(pd.merge(fruit, grade, how = 'outer', on = "Code"))
# 출력:
# Code Fruit Grade
# 0 123 Apple A
# 1 456 Banana NaN
# 2 789 Cherry B
# 3 1011 Lemon NaN
# 4 1112 Peach NaN
# 5 1314 NaN C
두 DataFrame에서 기준 column의 이름이 다를 때는 아래와 같은 방식으로 merge 함수를 사용한다.
pd.merge(데이터프레임1, 데이터프레임2, left_on=기준 column1, right_on=기준 column2)
column이 아닌, index를 기준으로 merge하는 경우에는 아래와 같은 방식으로 merge 함수를 사용한다.
pd.merge(데이터프레임1, 데이터프레임2, left_index=True, right_index=True)
concat
- 같은 형태의 데이터를 합칠 때 사용한다.
- 합칠 DataFrame을 list에 담아 인자로 넘긴다.
1. 위 + 아래로 데이터를 합칠 때
pd.concat([데이터프레임1, 데이터프레임2])
2. 왼쪽 + 오른쪽으로 데이터를 합칠 때
pd.concat([데이터프레임1, 데이터프레임2], axis = 1)
'AI > Pandas' 카테고리의 다른 글
[Pandas] 연속형 데이터를 범주형 데이터로 변환하는 방법 (0) | 2023.03.09 |
---|---|
[Pandas] groupby (0) | 2023.03.09 |
[Pandas] column 별로 데이터의 비율 알아내는 방법 (0) | 2023.03.09 |
[Pandas] DataFrame 출력할 때 보여지는 데이터 개수 늘리는 방법 (0) | 2023.03.09 |
[Pandas] apply 함수와 applymap 함수 (0) | 2023.03.09 |