concatconcat() : 데이터프레임을 위아래 혹은 좌우로 연결 가능
axis : 연결하고자 하는 축(방향)을 지정
ignore_index : 연결된 결과 데이터 프레임의 인덱스 유지 여부
False (연결된 결과 데이터프레임의 인덱스 유지)True → 기존 인덱스를 무시하고 새로운 인덱스 설정# concat 활용 예시
# 예시 1: 세로로 연결 + 인덱스 리셋
pd.concat([data1, data2, data3]).reset_index(drop=True)
# 예시 2: 가로로 연결
pd.concat([data1, data2, data3], axis=1])
데이터 합치기 예시
mergemerge()
JOIN 연산과 유사한 방식으로 데이터프레임을 합칠 수 있음merge() 함수의 주요 매개 변수
left , right : 병합할 데이터프레임 중 병합되는 기준이 되는 왼쪽과 오른쪽 데이터프레임how : 병합 방법을 나타내는 매개변수
inner , outer , left , right 등inner : 공통된 키(열)을 기준으로 교집합 생성outer : 공통된 키를 기준으로 합집합 생성left : 왼쪽 데이터프레임의 모든 행 포함 + 오른쪽 데이터프레임은 공통된 키에 해당하는 행만 포함right : 오른쪽 데이터프레임의 모든 행 포함 + 왼쪽 데이터프레임은 공통된 키에 해당하는 행만 포함on : 병합 기준이 되는 열 이름(혹은 열 이름의 리스트)을 지정
left_on , right_on : 왼쪽, 오른쪽 데이터프레임에서 병합할 열 이름이 다른 경우 사용# merge 활용 예시 - 특정 컬럼 기준으로 inner join
pd.merge(data1, data2, on = 'column_name', how = 'inner')
Group by()
Group by 함수 사용하기
# 특정 컬럼의 고유값 기준 연산 수행
# 평균
data.groupby('column_name').mean()
# 합계
data.groupby('column_name').sum()
# 개수
data.groupby('column_name').count()
# 최댓값
data.groupby('column_name').max()
# 최솟값
data.groupby('column_name').min()
# 첫 번째 값
data.groupby('column_name').first()
# 값들을 리스트 형태로 묶어주기
data.groupby('column_name').agg(list)
# 복수 열 기준으로 Group by 함수 사용
data.groupby(['column1','column2']).sum()
# 다양한 집계 함수 적용
data.groupby(['column1', 'column2']).agg({'Value1': ['mean','sum'], 'Value2': 'sum'})
<aside>
✅ Tip!
복수의 열을 기준으로 그룹화하여 데이터프레임을 조작하는 경우, groupby() 함수에 복수의 열을 리스트로 전달하여 원하는 그룹화 기준을 지정하고, agg() 함수를 사용하여 여러 열에 대해 다양한 집계 함수 적용
</aside>
특정 컬럼들만 골라내서 Groupby 적용하기
df[['column1', 'column2', 'column3'].groupby(['column1', 'column2']).mean()
pivot_table()