- 데이터 준비 -
PATH = 'E:/developer/lab/'
transaction_1 = pd.read_csv(PATH + 'transaction_1.csv')
transaction_2 = pd.read_csv(PATH + 'transaction_2.csv')
transaction_detail_1 = pd.read_csv(PATH + 'transaction_detail_1.csv')
transaction_detail_2 = pd.read_csv(PATH + 'transaction_detail_2.csv')
데이터 병합이란?
- n 개의 데이터를 한개의 데이터로 합치는 과정입니다.
- 합쳐지는 DF간에 공통의 컬럼이 존재해야합니다. 단, concat 제외
- DF에서는 일반적으로 join으로 표현할수 있습니다.
데이터 병합 => merge()
jojn_data = pd.merge(transaction_detail, transaction, on='transaction_id', how='left')
jojn_data.head()
# on : 2개의 DF에서 공통된 컬럼을 적습니다.
# how : 겹치지 않는 부분을 왼쪽 DF 또는 오른쪽 DF로 남길수 있습니다.
: outer 를 사용하면 모두 남길수 있습니다. 합집합의 기능
jojn_data1 = pd.merge(jojn_data, customer, on='customer_id', how='left')
jojn_data1.head()
데이터 병합 => concat()
- axis 의 값에 의해 방향성이 결정됩니다.
- 컬럼 수와 종류가 동일해야합니다.
transaction = pd.concat([transaction_1, transaction_2])
transaction[4999-1:4999+4]
# 합쳐지는 부분 확인
transaction = pd.concat([transaction_1, transaction_2], ignore_index=True)
transaction[4999-1:4999+4]
transaction_detail = pd.concat([transaction_detail_1, transaction_detail_2], ignore_index=True)
transaction_detail[4999-1:4999+4]
'파이썬(Python)' 카테고리의 다른 글
파이썬 머신러닝 기본 2 (0) | 2021.08.11 |
---|---|
파이썬 머신러닝 기본1 (0) | 2021.08.10 |
판다스 / pandas 3 - 정렬, 컬럼제거, 데이터 가공, 파생변수 생성 (0) | 2021.08.06 |
판다스 / pandas 2 - 데이터 추출(인덱싱, 슬라이싱, loc, iloc, 불리언 인덱싱) (0) | 2021.08.05 |
판다스 / pandas 1 - 기본생성, 외부에서 데이터 호출, 데이터 기본 점검 (0) | 2021.08.04 |