concat 함수는 데이터프레임들을 세로 방향으로 결합함
result = pd.concat([df1, df2, df3], ,ignore_index= True ) # concat 후의 결과 데이터프레임에서 인덱스가 새로 생성됨
# 세 개의 예시 데이터프레임 생성
import pandas as pd
df1 = pd.DataFrame({'Name' : ['Alice', 'Bob'], 'Age' : [25, 30]})
df2 = pd.DataFrame({'Name' : ['Chris', 'David'], 'Age' : [22, 27]})
df3 = pd.DataFrame({'Name' : ['Eve', 'Frank'], 'Age' : [28, 33]})
# 세 데이터프레임을 세로 방향으로 결합 (append)
result = pd.concat([df1, df2, df3],
ignore_index=True)
result

merged = pd.merge(left_df, right_df, ,left_on = 'left_key', right_on='right_key', how= 'join_type' ) # key_1과 key_r을 하나의 열로 통합 merged['new_key'] = merged['key_l'].combine_first(merged['key_r']) # join_type-> inner, outer, left, right, cross('on' argument 필요없음)
- 두 개의 데이터프레임을 가로 방향으로 결합하는 데 사용되며, SQL의 JOIN 연산과 유사.
이 두 함수는 두 데이터프레임 간의 공통된 열이나 인덱스를 기준으로 결합.
크게 5가지가 있음inner join : 공통돈 key에 대해서만 결합
outer join : 모든 key를 포함하며, 일치하지 않는 경우 NaN으로 채움
left join : Left 테이블의 key를 기준으로 결합, 일치하지 않는 경우 NaN으로 채움.
right join : Right 테이블의 key를 기준으로 결합, 일치하지 않는 경우 NaN으로 채움
cross join (pandas 1.2.0 이상) : df1과 df2의 모든 조합을 생성



merged = pd.merge(left, right,
left_on = 'key_l', right_on='key_r',
how='inner'
merged

merged = pd.merge(left, right,
left_on = 'key_l', right_on = 'key_r',
how = 'outer'
merged

merged = pd.merge(left, right,
left_on = 'key_l', right_on = 'key_r',
how = 'left'
merged

merged = pd.merge(left, right,
left_on = 'key_l', right_on = 'key_r',
how = 'right'
merged

merged = pd.merge(left, right,
left_on = 'key_l', right_on='key_r',
how='outer'
# key 0~3까지 포괄하는 행을 만들고싶다
merged['new_key'] = merged['key_r'].combine_first(merged['key_l'])
merged
# combine_first : key_r에서 누락된 값이 있다면 key_l에서 가져와라

# cross join : key값이 따로 필요없다. 곱하기라고 생각하면 편함
merged = pd.merge(left, right,
how='cross')
merged
