728x90
반응형
티스토리
두 개의 판다스 데이터프레임을 b_id 열을 기준으로 병합
두 개의 판다스 데이터프레임을 b_id 열을 기준으로 병합하는 방법은 merge 함수를 사용하는 것입니다. 아래는 주어진 데이터프레임을 기반으로 b_id 열을 기준으로 병합하는 예제 코드로 공부해 보자.
1. 코드리뷰
2개의 판다스 데이터 프레임의 'b_id'열을 기준으로 값이 같은 행을 병합하는 코드
import pandas as pd
# 1번 데이터프레임 생성
df1_data = {'sepal_length': [5.1, 4.9, 4.7, 4.6, 5.0, 5.4],
'sepal_width': [3.5, 3.0, 3.2, 3.1, 3.6, 3.9],
'petal_length': [1.4, 1.4, 1.3, 1.5, 1.4, 1.7],
'petal_width': [0.2, 0.2, 0.2, 0.2, 0.2, 0.4],
'species': ['setosa', 'setosa', 'setosa', 'setosa', 'setosa', 'setosa'],
'species_id': [1, 1, 1, 1, 1, 1],
'b_id': [33, 765, 54, 2, 43, 1]}
df1 = pd.DataFrame(df1_data)
# 2번 데이터프레임 생성
df2_data = {'a': [5.1, 4.9, 4.7, 4.6, 5.0, 5.4],
'b': [3.5, 3.0, 3.2, 3.1, 3.6, 3.9],
'c': [1.4, 1.4, 1.3, 1.5, 1.4, 1.7],
'petal_width': [0.2, 0.2, 0.2, 0.2, 0.2, 0.4],
'species': ['setosa', 'setosa', 'setosa', 'setosa', 'setosa', 'setosa'],
'species_id': [1, 1, 1, 1, 1, 1],
'b_id': [33, 765, 1, 2, 3, 1]}
df2 = pd.DataFrame(df2_data)
# b_id 열을 기준으로 데이터프레임 병합
merged_df = pd.merge(df1, df2, on='b_id', how='inner')
# 결과 출력
print(merged_df)
이 코드는 'b_id' 열을 기준으로 내부 조인(inner join)을 수행하여 두 데이터프레임을 병합합니다. how='inner' 파라미터는 공통된 값이 있는 행들만을 병합하도록 합니다. 결과는 merged_df에 저장되며 출력됩니다.
2. 코드리뷰 - key 열을 기준으로 두 데이터프레임을 병합
이 예제에서는 key 열을 기준으로 두 데이터프레임을 병합하고 있습니다.
import pandas as pd
# 첫 번째 데이터프레임 생성
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': ['a', 'b', 'c'], 'key': ['X', 'Y', 'Z']})
# 두 번째 데이터프레임 생성
df2 = pd.DataFrame({'C': ['x', 'y', 'z'], 'D': [4, 5, 6], 'key': ['X', 'Y', 'Z']})
# 데이터프레임 병합
merged_df = pd.merge(df1, df2, on='key')
# 결과 출력
print(merged_df)
3. 코드리뷰 - key 열을 기준으로 두 데이터프레임을 병합 #2
import pandas as pd
# 세 번째 데이터프레임 생성
df3 = pd.DataFrame({'E': [10, 20, 30], 'F': ['apple', 'banana', 'cherry'], 'key': ['X', 'Y', 'Z']})
# 네 번째 데이터프레임 생성
df4 = pd.DataFrame({'G': ['red', 'green', 'blue'], 'H': [100, 200, 300], 'key': ['X', 'Y', 'Z']})
# 데이터프레임 병합
merged_df_2 = pd.merge(df3, df4, on='key')
# 결과 출력
print(merged_df_2)
이 예제에서도 key 열을 기준으로 두 데이터프레임을 병합하고 있습니다. pd.merge 함수는 공통된 열을 기준으로 데이터프레임을 효과적으로 병합할 수 있는 강력한 기능을 제공합니다.
마무리
- 이번 포스팅은 pd.merge 또다른 예에 대해 알아봤습니다.
궁금한 사항은 댓글을 통해서 남겨 주시면 답변 드리겠습니다.
감사합니다.
728x90
반응형
'PYTHON 파이썬 > PANDAS(판다스)' 카테고리의 다른 글
[PANDAS] 시계열(datetime) 데이터프레임 ,날짜 시간 기준 병합(merge) (2) | 2024.01.27 |
---|---|
[Python Pandas] 데이터 프레임에서 특정 열 삭제 및 에러 대처 하기 (0) | 2024.01.25 |
[병합/Merge] 열과 행이 다르고, 특정 열의 이름과 값이 같은 다른 데이터프레임 병합 (1) | 2024.01.06 |
[python/pandas] datetime(시계열) 날짜 구간(Range) 추출 (0) | 2023.12.23 |
[파이썬초보] pandas 특정 행부터 read , pd.read_csv skiprow (0) | 2023.06.20 |