pivot_table()
1. 기본 형식
DataFrame.pivot_table(index, columns, values, aggfunc)
index
: 행 인덱스로 사용할 열을 지정
columns
: 열로 사용할 열을 지정
values
: 셀의 값으로 사용할 열을 지정
aggfunc
: 집계 함수로, 기본 값은 mean
이며 sum
, min
, max
, count
등 다양한 함수도 사용 가능
2. 오늘 배운 것
- 기본적으로 모든 인자가 선택적이라서
df.pivot_table()
도 가능
- 개인 필수 과제 3번에서 각 인자에 어떤 값을 넣어줘야 하는지 몰라서 한참 고민했음
2. map()
1. 기본 형식
map(function, iterable)
function
: 반복 가능한 객체의 각 요소에 적용할 함수
iterable
: 반복 가능한 객체. map()
은 이 객체의 각 요소에 함수를 적용
- 결과를 맵 객체(map object)로 반환하며, 이 객체를 list, tuple 등으로 변환하여 사용 가능
- 여러 개의 반복 가능한 객체에 동시에 함수를 적용할 수 있음
2. 적용 사례
police_office = {
'서대문서': '서대문구', '수서서': '강남구', '강서서': '강서구', '서초서': '서초구',
'서부서': '은평구', '중부서': '중구', '종로서': '종로구', '남대문서': '중구',
'혜화서': '종로구', '용산서': '용산구', '성북서': '성북구', '동대문서': '동대문구',
'마포서': '마포구', '영등포서': '영등포구', '성동서': '성동구', '동작서': '동작구',
'광진서': '광진구', '강북서': '강북구', '금천서': '금천구', '중랑서': '중랑구',
'강남서': '강남구', '관악서': '관악구', '강동서': '강동구', '종암서': '성북구',
'구로서': '구로구', '양천서': '양천구', '송파서': '송파구', '노원서': '노원구',
'방배서': '서초구', '은평서': '은평구', '도봉서': '도봉구'
}
print(df['관서명'])
'''
0 계
1 중부서
2 종로서
⁝
30 도봉서
31 수서서
'''
df['구별'] = df['관서명'].map(police_office).fillna('구 없음')
df['관서명'].map(police_office)
df['관서명']
: DataFrame에서 '관서명' 열을 선택하여 Series 형태로 가져옴
.map(police_office)
- map
은 '관서명' 시리즈의 각 경찰서 이름에 대해 police_office
dictionary 에서 해당하는 값을 찾아 매칭
- '중부서'
의 경우, police_office['중부서']
의 값인 '중구'
를 반환
- dictionary에 없는 경찰서 이름이 등장하면 NaN
(결측값)을 반환
.fillna('구 없음')
NaN
값을 '구 없음'
으로 채워주는 역할
- 위 예시에선 0번째
계
에 해당하는 값이 NaN
으로 반환됨