실제 데이터 분석 환경에서는 데이터가 여러 소스나 파일에 분산되어 있는 경우가 다수여서 데이터를 통합하여 하나의 데이터 프레임으로 만드는 과정을 통해 통합된 데이터를 기반으로 더 나은 인사이트를 얻고 분석의 일관성을 유지할 수 있음
1.1. 행 결합 (Row-wise Concatenation)
import pandas as pd
# 두 개의 데이터 프레임 생성
df1 = pd.DataFrame({'id': [1, 2, 3], 'value': [10, 20, 30]})
df2 = pd.DataFrame({'id': [4, 5, 6], 'value': [40, 50, 60]})
# 행 결합
df_concat = pd.concat([df1, df2], axis=0, ignore_index=True)
print(df_concat)
출력값
id value
0 1 10
1 2 20
2 3 30
3 4 40
4 5 50
5 6 60
1.2. 열 결합 (Column-wise Merge)
# 두 개의 데이터 프레임 생성
df3 = pd.DataFrame({'id': [1, 2, 3], 'name': ['Alice', 'Bob', 'Charlie']})
df4 = pd.DataFrame({'id': [1, 2, 3], 'score': [85, 90, 95]})
# 열 결합 (id 기준)
df_merge = pd.merge(df3, df4, on='id', how='inner')
print(df_merge)
출력값
id name score
0 1 Alice 85
1 2 Bob 90
2 3 Charlie 95
열 결합은 how 파라미터를 통해 다양한 방식으로 결합할 수 있음
# 예시: outer join
df_outer = pd.merge(df3, df4, on='id', how='outer')
print(df_outer)
id name score
0 1 Alice 85.0
1 2 Bob 90.0
2 3 Charlie 95.0
통합된 데이터프레임에서 중복 데이터가 발생할 수 있으므로 필요 시 drop_duplicates() 함수 이용하여 제거해야 함
df_concat.drop_duplicates(inplace=True)
또한, 필요에 따라 데이터프레임을 정렬해야 할 때는 sort_values() 함수를 사용
df_concat.sort_values(by='id', inplace=True)
데이터 프레임 통합이 완료된 후에는 데이터의 일관성과 정확성을 검증하여 통합한 데이터가 이상이 없는지를 확인
# 데이터 타입 확인
print(df_concat.dtypes)
# 결측치 확인
print(df_concat.isnull().sum())
Data Preprocessing - 데이터 형 변환 (2) | 2024.11.13 |
---|---|
Data Preprocessing - 이상치 탐지 (0) | 2024.11.11 |
Data Preprocessing - 그룹 연산 (0) | 2024.09.26 |
Data Preprocessing - groupby (1) | 2024.09.26 |
Data Preprocessing(데이터 전처리) (2) | 2024.09.18 |