데이터 병합
데이터 준비
import pandas as pd
# 첫 번째 데이터프레임 생성
data1 = {
'제품ID': [1, 2, 3],
'제품명': ['노트북', '모니터', '키보드']
}
df1 = pd.DataFrame(data1)
# 두 번째 데이터프레임 생성
data2 = {
'제품ID': [1, 2, 4],
'가격': [1000, 200, 50]
}
df2 = pd.DataFrame(data2)
# 데이터프레임 출력
print("첫 번째 데이터프레임:")
print(df1)
print("\n두 번째 데이터프레임:")
print(df2)
내부 조인(Inner Join)
# 내부 조인
inner_join = pd.merge(df1, df2, on='제품ID', how='inner')
# 데이터프레임 출력
print("첫 번째 데이터프레임:")
print(df1)
print("\n두 번째 데이터프레임:")
print(df2)
print("\n내부 조인 결과:")
print(inner_join)
외부 조인(Outer Join)
# 외부 조인
outer_join = pd.merge(df1, df2, on='제품ID', how='outer')
# 데이터프레임 출력
print("첫 번째 데이터프레임:")
print(df1)
print("\n두 번째 데이터프레임:")
print(df2)
print("\n외부 조인 결과:")
print(outer_join)
왼쪽 조인(Left Join)
# 왼쪽 조인
left_join = pd.merge(df1, df2, on='제품ID', how='left')
# 데이터프레임 출력
print("첫 번째 데이터프레임:")
print(df1)
print("\n두 번째 데이터프레임:")
print(df2)
print("\n왼쪽 조인 결과:")
print(left_join)
오른쪽 조인(Right Join)
# 오른쪽 조인
right_join = pd.merge(df1, df2, on='제품ID', how='right')
# 데이터프레임 출력
print("첫 번째 데이터프레임:")
print(df1)
print("\n두 번째 데이터프레임:")
print(df2)
print("\n오른쪽 조인 결과:")
print(right_join)
교차조인(Cross Join)
# 교차 조인
cross_join = pd.merge(df1, df2, how='cross')
# 데이터프레임 출력
print("첫 번째 데이터프레임:")
print(df1)
print("\n두 번째 데이터프레임:")
print(df2)
print("\n교차 조인 결과:")
print(cross_join)
데이터 추가(Union)
데이터준비
# 첫 번째 데이터프레임 생성
data1 = {
'이름': ['홍길동', '이순신'],
'나이': [30, 40]
}
df1 = pd.DataFrame(data1)
# 두 번째 데이터프레임 생성
data2 = {
'이름': ['강감찬', '유관순'],
'나이': [50, 20]
}
df2 = pd.DataFrame(data2)
# 데이터프레임 출력
print("첫 번째 데이터프레임:")
print(df1)
print("\n두 번째 데이터프레임:")
print(df2)
데이터프레임 결합(Union)
# 데이터프레임 세로로 결합
union_df = pd.concat([df1, df2], ignore_index=True)
# 데이터프레임 출력
print("첫 번째 데이터프레임:")
print(df1)
print("\n두 번째 데이터프레임:")
print(df2)
print("\n유니온 결과:")
print(union_df)
# 인덱스를 유지하면서 데이터프레임 결합
union_with_index = pd.concat([df1, df2], ignore_index=False)
# 데이터프레임 출력
print("첫 번째 데이터프레임:")
print(df1)
print("\n두 번째 데이터프레임:")
print(df2)
print("\n인덱스를 유지한 유니온 결과:")
print(union_with_index)
데이터프레임 열이 다른 경우 결합(Union)
# 열이 다른 데이터프레임 생성
data3 = {
'이름': ['정약용', '김유신'],
'주소': ['서울', '경주']
}
df3 = pd.DataFrame(data3)
# 데이터프레임 결합
union_with_different_columns = pd.concat([df1, df3], ignore_index=True)
print("\n열이 다른 데이터프레임 결합 결과:")
print(union_with_different_columns)
'파이썬' 카테고리의 다른 글
10. 탐색적 데이터 분석 (0) | 2025.03.18 |
---|---|
9. Feature Engieneering (특성공학, 변수파생) (0) | 2025.03.18 |
7. 데이터전처리 (0) | 2025.03.18 |
6. 데이터 전처리 (결측치와 이상치) (0) | 2025.03.17 |
5. 데이터선택하기 (0) | 2025.03.17 |