Task : 분석주제 정하기
•
생애주기별 실거주 아파트 매물 추천
Task : 분석 기획
•
기획은 러프하게 하셔도 됩니다. (기획한대로 데이터가 생기지 않았음)
•
데이터를 확인하면서(eda) → 살을 붙여나가는 형태로
•
반드시 우리팀만의 why(기준)이 있는 분석을 진행해주시기 바랍니다.
[11/21 메모]
2차 전처리 필요 ⇒ 분류 조건이 더 필요한 것 + 이상치 + 간소화
•
계약일이 2018년 이전인 경우 ⇒ 가계약을 고려해서 2017년부터로 하는 게 좋지 않을까 생각 > 2017년부터!
•
층수가 지하 2층 ~ 3층인 경우 ⇒ 해당하는 데이터가 많지 않음. 그 아파트의 지하에 거주 공간이 있는지 확인해서 넣을지 뺄지 결정: 91개 > 지상층부터!
•
매매한 평수가 3평, 4평 이런 친구들 ⇒ 평수 일부의 지분을 산건지 뭔지 모르겠음 > 일단 살림
•
매물 가격 이상치
•
컬럼도 좀 더 간소화 ⇒ 자치구코드 & 법정동코드 컬럼 제외하고 이외에 필요 없는 것들 생각해보고 제외
•
대주제: 고객 맞춤형 부동산 매물 추천, 생애주기별 매매전략
◦
거주 = 평균값이 제일 낮은 지역 >>> 대출 규제 정책으로 주담대의 경우 6개월 이내 실거주 의무가 있음
◦
투자 = 연평균 성장률이 높은 지역 (꾸준히 우상향)
◦
매매 = 단기적으로 시세차익을 얻을 수 있는..
•
부동산이슈, 전세 사기, 대출 규제 등으로 인한 변화
•
계절별(월별) 계약 현황
•
필요한 데이터
◦
학교, 학원, 병원, 복지시설, 마트, 공원
◦
인구데이터: 연령별 등록 인구 (전입신고)
◦
위/경도
◦
5대 범죄 발생 현황 (20~24년)
구한 데이터 → 걸어갈 수 있는 정도 (500 ~ 1km) 차타고 가야하는 정도(3~5km)
대규모 점포 → 걸어가기도 애매, 차타고가기도 애매 → 2km
문화공간 3km v
병의원: 병원, 종합병원만 > 327개 (반경 5km)
초,중,고등학교 (반경 500m) v
공원 500m v
버스정류장 500m
지하철 → 구해야함 500m v
참고)
◦
평수 = 건물면적 / 3.3
◦
건축년도 = 얼마나 건물이 오래됐는지 확인 → null값, 0 존재 (7,344개) → 제외
◦
본번이 null, 0인 것 제외 → 00C1처럼 문자 섞인 값 존재
◦
취소일 있는 것 제외
◦
부번 0인 것 > NULL
◦
건물용도 = 아파트만
◦
계약연도 = 계약일의 년도만 가져오기
◦
“서울특별시” + 자치구명 + 법정동명 + 본번 + - + 부번
(ex: 서울특별시 은평구 녹번동 86-125)
if 부번 is null (-)하이픈 안들어감
◦
좌표가 없는 것 제외 = 본번 없는 경우, 주소가 잘못된 경우
◦
페르소나 설정
▪
3인 가구
•
세대원 수 : 3인(아이 나이 : 초등학생)
•
평수 : 30평 ~ 40평
•
종류 : 아파트(신/구축)
•
예산 : 10억 ~ 20억
•
목적 : 실거주
•
인프라
◦
학교 : 초등학교, 중학교, 고등학교가 근방에 있어야 함
◦
학원 : 학원이 몰려 있는 중심상가
◦
병원 : 소아과병원
◦
마트, 복지시설, 어린이 놀이시설
◦
문화시설
◦
지하철
▪
신혼부부
•
세대원 수 : 2인 (반려견 있음)
•
평수 : 20평 ~ 25평
•
종류 : 아파트(구축 20년 이상)
•
예산 : 5억 ~ 6억
•
목적 : 실거주
•
인프라
◦
대형마트
◦
공원 (반려견놀이터)
◦
문화시설
◦
지하철/버스정류장
▪
노년층
•
세대원 수 : 1 ~ 2명
•
평수 : 25평 ~ 30평
•
종류 : 아파트(구축)
•
예산 : 10억 미만
•
목적 : 실거주
•
인프라
◦
대형병원
◦
마트
◦
공원
◦
복지시설
◦
지하철
전처리 진행 과정
[데이터 전체 행렬 개수 : 833,614 x 21]
1.
매물 추천을 위해 필요한 컬럼 선정
1) 자치구명
2) 법정동명
3) 본번
4) 부번
5) 건물명
6) 계약일
7) 물건금액(만원)
8) 건물면적(m²)
9) 층
10) 취소일
11) 건축년도
12) 건물용도
[데이터 전체 행렬 개수 : 833,614 x 12]
column | non-null count | dtype |
자치구명 | 833,613 | object |
법정동명 | 833,614 | object |
본번 | 776,052 | object |
부번 | 776,052 | object |
건물명 | 776,065 | object |
계약일 | 833,614 | int64 |
물건금액(만원) | 833,614 | int64 |
건물면적(㎡) | 833,614 | float64 |
층 | 776,119 | float64 |
취소일 | 25,541 | float64 |
건축년도 | 830,198 | float64 |
건물용도 | 833,614 | object |
2.
데이터 정제
1) 건물용도 == 아파트
(1) ‘고객 맞춤형 아파트 매물 추천’ 주제에
맞게 용도가 아파트가 아닌 항목을 제외
# 아파트로 필터링
df_2018_2024 = df_2018_2024[df_2018_2024['건물용도'] == '아파트'].copy()
Python
복사
[데이터 전체 행렬 개수 : 393,389 x 12]
column | non-null count | dtype |
자치구명 | 393,388 | object |
법정동명 | 393,389 | object |
본번 | 393,342 | object |
부번 | 393,342 | object |
건물명 | 393,389 | object |
계약일 | 393,389 | int64 |
물건금액(만원) | 393,389 | int64 |
건물면적(㎡) | 393,389 | float64 |
층 | 393,389 | float64 |
취소일 | 8,598 | float64 |
건축년도 | 393,387 | float64 |
건물용도 | 393,389 | object |
2) 계약일 ≥ 2017년
(1) 원본 데이터는 부동산 거래가 접수된
일자를 기준으로 작성이 되어 있기
때문에, 계약일이 더 이전인 경우가 존재
(2) 따라서, 현재 고객의 예산에 맞춘 최적의
추천을 위해서는 2018년 ~ 2024년 사이
에 계약이 이루어진 매물의 거래가로
매물별 가격대를 확인할 필요가 있으
므로, 2018년 이전 데이터는 제외
(3) 단, 2017년 데이터의 경우 가계약과 기준
연도와 인접한 계약이기 때문에 제외
하지 않고 유지
# 계약 연도 2017년부터 필터링 (가계약 고려)
df_2018_2024 = df_2018_2024[df_2018_2024['계약일'] >= 20170101].copy()
Python
복사
[데이터 전체 행렬 개수 : 393,345 x 12]
column | non-null count | dtype |
자치구명 | 393,344 | object |
법정동명 | 393,345 | object |
본번 | 393,298 | object |
부번 | 393,298 | object |
건물명 | 393,345 | object |
계약일 | 393,345 | int64 |
물건금액(만원) | 393,345 | int64 |
건물면적(㎡) | 393,345 | float64 |
층 | 393,345 | float64 |
취소일 | 8,598 | float64 |
건축년도 | 393,343 | float64 |
건물용도 | 393,345 | object |
3.
결측치 처리 : NULL 값 제외
1) 본번 != NULL
# 본번 null 제외 필터링
df_2018_2024 = df_2018_2024[df_2018_2024['본번'].notna()].copy()
Python
복사
[데이터 전체 행렬 개수 : 393,298 x 12]
column | non-null count | dtype |
자치구명 | 393,297 | object |
법정동명 | 393,298 | object |
본번 | 393,298 | object |
부번 | 393,298 | object |
건물명 | 393,298 | object |
계약일 | 393,298 | int64 |
물건금액(만원) | 393,298 | int64 |
건물면적(㎡) | 393,298 | float64 |
층 | 393,298 | float64 |
취소일 | 8,598 | float64 |
건축년도 | 393,296 | float64 |
건물용도 | 393,298 | object |
2) 건축 연도 != NULL
# 건축년도 null 제외 필터링
df_2018_2024 = df_2018_2024[df_2018_2024['건축년도'].notna()].copy()
Python
복사
[데이터 전체 행렬 개수 : 393,296 x 12]
column | non-null count | dtype |
자치구명 | 393,295 | object |
법정동명 | 393,296 | object |
본번 | 393,296 | object |
부번 | 393,296 | object |
건물명 | 393,296 | object |
계약일 | 393,296 | int64 |
물건금액(만원) | 393,296 | int64 |
건물면적(㎡) | 393,296 | float64 |
층 | 393,296 | float64 |
취소일 | 8,598 | float64 |
건축년도 | 393,296 | float64 |
건물용도 | 393,296 | object |
3) 자치구명 != NULL
# 자치구명 null 제외 필터링
df_2018_2024 = df_2018_2024[df_2018_2024['자치구명'].notna()].copy()
Python
복사
[데이터 전체 행렬 개수 : 393,295 x 12]
column | non-null count | dtype |
자치구명 | 393,295 | object |
법정동명 | 393,295 | object |
본번 | 393,295 | object |
부번 | 393,295 | object |
건물명 | 393,295 | object |
계약일 | 393,295 | int64 |
물건금액(만원) | 393,295 | int64 |
건물면적(㎡) | 393,295 | float64 |
층 | 393,295 | float64 |
취소일 | 8,598 | float64 |
건축년도 | 393,295 | float64 |
건물용도 | 393,295 | object |
4.
이상치 처리
1) 건축년도 != 0
# 건축년도 0 제외 필터링
df_2018_2024 = df_2018_2024[df_2018_2024['건축년도'] != 0].copy()
Python
복사
[데이터 전체 행렬 개수 : 385,713 x 12]
column | non-null count | dtype |
자치구명 | 385,713 | object |
법정동명 | 385,713 | object |
본번 | 385,713 | object |
부번 | 385,713 | object |
건물명 | 385,713 | object |
계약일 | 385,713 | int64 |
물건금액(만원) | 385,713 | int64 |
건물면적(㎡) | 385,713 | float64 |
층 | 385,713 | float64 |
취소일 | 8,328 | float64 |
건축년도 | 385,713 | float64 |
건물용도 | 385,713 | object |
2) 본번 != 0
# 본번 int화
df_2018_2024['본번'] = df_2018_2024['본번'].astype(int)
# 본번 0 제외 필터링
df_2018_2024 = df_2018_2024[df_2018_2024['본번'] != 0].copy()
Python
복사
[데이터 전체 행렬 개수 : 385,614 x 12]
column | non-null count | dtype |
자치구명 | 385,614 | object |
법정동명 | 385,614 | object |
본번 | 385,614 | int64 |
부번 | 385,614 | object |
건물명 | 385,614 | object |
계약일 | 385,614 | int64 |
물건금액(만원) | 385,614 | int64 |
건물면적(㎡) | 385,614 | float64 |
층 | 385,614 | float64 |
취소일 | 8,324 | float64 |
건축년도 | 385,614 | float64 |
건물용도 | 385,614 | object |
3) 건물 면적, 물건 금액 != 0
- 변동 사항 없음
# 건물면적 0 필터링
df_2018_2024 = df_2018_2024[df_2018_2024['건물면적(㎡)'] != 0.0].copy()
# 물건금액 0 필터링
df_2018_2024 = df_2018_2024[df_2018_2024['물건금액(만원)'] != 0].copy()
Python
복사
[데이터 전체 행렬 개수 : 385,614 x 12]
column | non-null count | dtype |
자치구명 | 385,614 | object |
법정동명 | 385,614 | object |
본번 | 385,614 | int64 |
부번 | 385,614 | object |
건물명 | 385,614 | object |
계약일 | 385,614 | int64 |
물건금액(만원) | 385,614 | int64 |
건물면적(㎡) | 385,614 | float64 |
층 | 385,614 | float64 |
취소일 | 8,324 | float64 |
건축년도 | 385,614 | float64 |
건물용도 | 385,614 | object |
4) 취소일 != NULL
- 취소일이 있는 경우 실제 거래가 된 매물이
아니기 때문에 제외
# 취소일이 null로 필터링
df_2018_2024 = df_2018_2024[df_2018_2024['취소일'].isnull()].copy()
Python
복사
[데이터 전체 행렬 개수 : 377,290 x 12]
column | non-null count | dtype |
자치구명 | 377,290 | object |
법정동명 | 377,290 | object |
본번 | 377,290 | int64 |
부번 | 377,290 | object |
건물명 | 377,290 | object |
계약일 | 377,290 | int64 |
물건금액(만원) | 377,290 | int64 |
건물면적(㎡) | 377,290 | float64 |
층 | 377,290 | float64 |
취소일 | 0 | float64 |
건축년도 | 377,290 | float64 |
건물용도 | 377,290 | object |
5) 층 > 0
- 아파트에 따라 지하에 주거 공간이 존재
하는 경우도 있지만, 지하층 매물이 표준
적인 시장 시세를 왜곡할 수 있기 때문에,
지상층만 포함
# 아파트 층수가 1층 이상(지상)
df_2018_2024 = df_2018_2024[df_2018_2024['층'] > 0].copy()
Python
복사
[데이터 전체 행렬 개수 : 377,199 x 12]
column | non-null count | dtype |
자치구명 | 377,199 | object |
법정동명 | 377,199 | object |
본번 | 377,199 | int64 |
부번 | 377,199 | object |
건물명 | 377,199 | object |
계약일 | 377,199 | int64 |
물건금액(만원) | 377,199 | int64 |
건물면적(㎡) | 377,199 | float64 |
층 | 377,199 | float64 |
취소일 | 0 | float64 |
건축년도 | 377,199 | float64 |
건물용도 | 377,199 | object |
5.
파생변수 생성
1) 계약 연도 컬럼 추가
- 계약 연도별로 가격을 확인하기 위함
# 계약일 -> 계약 연도 컬럼 추가(int 타입)
df_2018_2024['계약 연도'] = df_2018_2024['계약일'] // 10000
# 계약일 컬럼 제거
df_2018_2024 = df_2018_2024.drop('계약일', axis=1)
Python
복사
[데이터 전체 행렬 개수 : 377,199 x 12]
column | non-null count | dtype |
자치구명 | 377,199 | object |
법정동명 | 377,199 | object |
본번 | 377,199 | int64 |
부번 | 377,199 | object |
건물명 | 377,199 | object |
물건금액(만원) | 377,199 | int64 |
건물면적(㎡) | 377,199 | float64 |
층 | 377,199 | float64 |
취소일 | 0 | float64 |
건축년도 | 377,199 | float64 |
건물용도 | 377,199 | object |
계약 연도 | 377,199 | int64 |
2) 평수 컬럼 추가(정수 반올림해서 int화)
- 부동산 시장에서 통용되는 단위인 '평'으로 변환함과 동시에 평당가를 구하기 위함
# 평수 컬럼 추가(정수까지 반올림해서 int화)
df_2018_2024['평수(평)'] = round(df_2018_2024['건물면적(㎡)'] / 3.3)
df_2018_2024['평수(평)'] = df_2018_2024['평수(평)'].astype(int)
Python
복사
[데이터 전체 행렬 개수 : 377,199 x 13]
column | non-null count | dtype |
자치구명 | 377,199 | object |
법정동명 | 377,199 | object |
본번 | 377,199 | int64 |
부번 | 377,199 | object |
건물명 | 377,199 | object |
물건금액(만원) | 377,199 | int64 |
건물면적(㎡) | 377,199 | float64 |
층 | 377,199 | float64 |
취소일 | 0 | float64 |
건축년도 | 377,199 | float64 |
건물용도 | 377,199 | object |
계약 연도 | 377,199 | int64 |
평수(평) | 377,199 | int64 |
3) 평단가 컬럼 추가(정수 반올림해서 int화)
- 서로 다른 규모의 매물들을 동일 선상에서 비교하여 가치를 평가하기 위함
# 평당가 계산(정수까지 반올림해서 int화)
df_2018_2024['평당가(만원)'] = round(df_2018_2024['물건금액(만원)']/ df_2018_2024['평수(평)'])
df_2018_2024['평당가(만원)'] = df_2018_2024['평당가(만원)'].astype(int)
Python
복사
[데이터 전체 행렬 개수 : 377,199 x 14]
column | non-null count | dtype |
자치구명 | 377,199 | object |
법정동명 | 377,199 | object |
본번 | 377,199 | int64 |
부번 | 377,199 | object |
건물명 | 377,199 | object |
물건금액(만원) | 377,199 | int64 |
건물면적(㎡) | 377,199 | float64 |
층 | 377,199 | float64 |
취소일 | 0 | float64 |
건축년도 | 377,199 | float64 |
건물용도 | 377,199 | object |
계약 연도 | 377,199 | int64 |
평수(평) | 377,199 | int64 |
평당가
(만원) | 377,199 | int64 |
4) GIS 시각화를 위한 주소 컬럼 추가
# 시명 : 서울특별시 추가
df_2018_2024['시명'] = "서울특별시"
# 부번 정수화
df_2018_2024['부번'] = df_2018_2024['부번'].astype(int)
# 부번 0 -> Null 처리
df_2018_2024['부번'] = df_2018_2024['부번'].replace(0, None)
# 주소 컬럼 생성
main_num = df_2018_2024['본번'].fillna(0).astype(float).astype(int).astype(str)
sub_num = df_2018_2024['부번'].fillna(0).astype(float).astype(int).astype(str)
hyphen_str = np.where((df_2018_2024['부번'].isna()) | (df_2018_2024['부번'] == 0), "", "-" + sub_num)
df_2018_2024['주소'] = (df_2018_2024['시명'].fillna('') + ' ' + df_2018_2024['자치구명'].fillna('') + ' ' + df_2018_2024['법정동명'].fillna('') + ' ' + main_num + hyphen_str)
df_2018_2024
Python
복사
[데이터 전체 행렬 개수 : 377,199 x 16]
column | non-null count | dtype |
자치구명 | 377,199 | object |
법정동명 | 377,199 | object |
본번 | 377,199 | int64 |
부번 | 97,807 | object |
건물명 | 377,199 | object |
물건금액(만원) | 377,199 | int64 |
건물면적(㎡) | 377,199 | float64 |
층 | 377,199 | float64 |
취소일 | 0 | float64 |
건축년도 | 377,199 | float64 |
건물용도 | 377,199 | object |
계약 연도 | 377,199 | int64 |
평수(평) | 377,199 | int64 |
평당가
(만원) | 377,199 | int64 |
시명 | 377,199 | object |
주소 | 377,199 | object |
6.
데이터 최종 검토
1) 층, 건축년도 int화
# 층 int화
df_2018_2024['층'] = df_2018_2024['층'].astype(int)
# 건축년도 int화
df_2018_2024['건축년도'] = df_2018_2024['건축년도'].astype(int)
Python
복사
[데이터 전체 행렬 개수 : 377,199 x 16]
column | non-null count | dtype |
자치구명 | 377,199 | object |
법정동명 | 377,199 | object |
본번 | 377,199 | int64 |
부번 | 377,199 | object |
건물명 | 377,199 | object |
물건금액(만원) | 377,199 | int64 |
건물면적(㎡) | 377,199 | float64 |
층 | 377,199 | int64 |
취소일 | 0 | float64 |
건축년도 | 377,199 | int64 |
건물용도 | 377,199 | object |
계약 연도 | 377,199 | int64 |
평수(평) | 377,199 | int64 |
평당가
(만원) | 377,199 | int64 |
시명 | 377,199 | object |
주소 | 377,199 | object |
2) 최종 정렬
# 최종 정렬
df_2018_2024 = df_2018_2024[['계약 연도', '시명', '자치구명', '법정동명', '본번', '부번', '주소', '건물명', '물건금액(만원)', '건물면적(㎡)', '평단가(만원)', '평수(평)', '층', '취소일', '건축년도', '건물용도']]
# 인덱스 번호 정렬
df_2018_2024 = df_2018_2024.reset_index(drop=True)
Python
복사
[데이터 전체 행렬 개수 : 377,199 x 16]
column | non-null count | dtype |
계약 연도 | 377,199 | int64 |
시명 | 377,199 | object |
자치구명 | 377,199 | object |
법정동명 | 377,199 | object |
본번 | 377,199 | int64 |
부번 | 377,199 | object |
주소 | 377,199 | object |
건물명 | 377,199 | object |
물건금액
(만원) | 377,199 | int64 |
건물면적(㎡) | 377,199 | float64 |
평당가
(만원) | 377,199 | int64 |
평수(평) | 377,199 | int64 |
층 | 377,199 | int64 |
취소일 | 0 | float64 |
건축년도 | 377,199 | int64 |
건물용도 | 377,199 | object |
3) 위경도 컬럼 추가 및 위경도 != null
[데이터 전체 행렬 개수 : 376,591 x 18]
column | non-null count | dtype |
계약 연도 | 376,591 | int64 |
시명 | 376,591 | object |
자치구명 | 376,591 | object |
법정동명 | 376,591 | object |
본번 | 376,591 | int64 |
부번 | 376,591 | object |
주소 | 376,591 | object |
건물명 | 376,591 | object |
물건금액
(만원) | 376,591 | int64 |
건물면적(㎡) | 376,591 | float64 |
평당가
(만원) | 376,591 | int64 |
평수(평) | 376,591 | int64 |
층 | 376,591 | int64 |
취소일 | 0 | float64 |
건축년도 | 376,591 | int64 |
건물용도 | 376,591 | object |
lat | 376,591 | float64 |
lng | 376,591 | float64 |
인프라+매물 필터링
페르소나별
평수
가격
인프라
연식 = 2025 - 건축년도
결과: 평단가 낮음 + 평수가 큼 + 최신 계약연도
신혼부부 (전체 거래의 평균 평단가: 2,372 만원) - records: 200
3인가구
노년가구
대시보드
•
자치구별 단위 인구수 현황
•
자치구별 연평균 5대 범죄 발생 건수(20~24년) - 5대 범죄: 살인, 강도, 강간/강제추행, 절도, 폭력
•
고객의 성향과 니즈에 따라 건물 용도, 주변 인프라 등을 분석하여 지역, 매물 등을 추천해준다.
•
고객 성향과 니즈 분류 > 건물 용도에 따른 연평균 성장률, 주변 인프라 분석 > 지역, 매물 추천
1.
1인가구 역추적: 외부 데이터에서 1인 가구 분포도를 보고, 1인가구 밀집 지역 현황, 가격 확인 (왜 높은지, 왜 낮은지) 인프라 등을 알아보려고 합니다. (필요한 데이터 셋 : 구별 1인 가구현황, 구별 가격(제곱미터 당 가격, 평당가격), 인프라(버스정류장, 병원, 체육시설 etc) (걱정되는 점 : 분석량의 한계)
2.
생애주기별 매물추천: 청년, 중/장년, 노년층으로 나누어 페르소나를 정하여 매물을 추천하고자 합니다. (진행 방향 :청년_매매, 청년_투자, 청년_거주, 중/장년_매매, 중/장년_투자, 중장년_거주, 노인_매매, 노인_투자, 노인_거주) (걱정되는 점 : 시각화에 대한 우려)
3.
나이대별 부동산 거래 트랜드 - 외부 데이터에서 나이대별 탑 3의 분포를 보고, 지역 현황에서의 부동산 거래 트랜드 확인 (데이터셋 : 1번과 유사 (걱정되는 점 : 실제적으로 나이대별로 거래 트랜드의 차이가 유의미 하지않은 경우)
•
데이터에서 산/공백/블럭 제외, 취소일 있는 데이터 제외
•
블럭 > 재개발/신축
•
산 > 건물은 존재(구축)
•
공백 > 단독주택/ 아파트(힐스테이트 서초 젠트리스)인 경우도 있음
→ 건물 용도로 구분해서 보는 게 좋을 것 같음
•
건물 용도에 따른 평단가 계산
◦
아파트, 연립다세대(빌라), 오피스텔 : 물건 가격 / (건물 면적 / 3.3)
◦
단독다가구(단독 주택) : 물건 가격 / (토지 면적 / 3.3)
•
공시지가와 실거래액이 얼마나 차이가 적으면 주거, 차이가 크면 매매
•
CAGR (연평균성장률) 높은 곳: 투자
•
청년층의 정의로는 서울시 청년 기본조례 및 청년고용촉진특별법 시행령에 따르면 15~29세 이하를 청년층으로 정의하고 있다. 국토부는 청년층을 위한 공공임대주택 공급을 할 때에는 만 19세~39세 이하로 폭넓게 적용하는 것을 알 수 있으며 청년기본법에 따르면 19세 이상 34세 이하로 정의하고 있다. 노년층의 정의로는 국민연금, 기초연금 수급연령이 만 65세 이상으로 복지혜택 기준으로 만 65세 이상을 노인으로 노인복지법에 따르면 ‘65세 이상 경로우대 한다는 조항’으로 보아 65세 이상을 노년층으로 보고 있음을 알 수 있다.
Task : 역할 분담
1.
페르소나 설정 : ALL - DONE
2.
데이터 전처리 : 송기남, 허건 - DONE
3.
데이터 수집 : 서지연, 김경원, 정예지, 송기남
4.
데이터 분석 : ALL
5.
시각화: 서지연, 정예지
6.
지도시각화 : 김경원
7.
PPT : 정예지 -
Canva6조 - 생애주기별 매물 추천
Canva6조 - 생애주기별 매물 추천8.
코드정리 :
9.
대시보드 : 김경원
10.
영상 발표: 정예지
11.
발표회: 서지연
실행 및 진행 사항 정리
정예지
서지연
송기남
허건
김경원



