청소년수련활동인증제 공공데이터를 통해 수집한 데이터는 테이블 세개로 나뉜다.
기본적으로 데이터 탐색을 진행한다.
1. Programlist(2016.11.30 ~ 2023.08.01)
가. 프로그램 갯수: 2972개
select count(*) from programlist;
나. 기관 갯수: 674개
select count(*)
from (
select distinct(orgName)
from programlist
) a;
다. 기관별 프로그램 갯수(최대, 최소, 평균)
- 프로그램 수가 가장 많은 기관은 국립청소년해양센터로 46개 이다.
- 프로그램수가 가장 적은 기관들은 1개 프로그램을 가지고 있고 213개 기관이 있다.
- 수련활동 인증제를 실시하는 전체 기관의 1/3정도는 1개 프로그램만 운영한다.
- 기관별 평균 프로그램 수는 4개이다.(분포가 너무 1에 치우쳐 있으므로 중앙값 확인할것)
# 기관별 프로그램 수
select orgName, count(pgName) as "프로그램수"
from programlist
group by orgName
order by count(pgName) desc;
# 인증제를 1개만 운영하는 기관
select orgName, count(pgName) as "프로그램수"
from programlist
group by orgName
having count(pgName) = 1
order by count(pgName) desc;
라. 참가비(평균, 최소, 최대)
- 최대 참가비: 1,050,000원
- 최소 참가비: 0원
- 평균 참가비: 44,090원
- 기관별 평균 참가비
#최대금액
select price
from programlist
order by price desc;
#평균금액
select round(avg(price), 0)
from programlist;
#기관별 평균금액
select orgname, count(pgName) as 프로그램수, avg(price) as 평균가격
from programlist
group by orgname
order by 평균가격 desc;
마. 참가연령
참가연령은 target필드에 들어있다. 내용을 보면 컬럼에 초(0명), 중(0명), 고(0명) 이런 형식으로 작성되어 있다.
분석을 위해서는 초, 중, 고, 대, 기타 컬럼을 만들고 더미변환 해야한다.
전체 2972개 프로그램에서 초, 중, 고등학생을 대상으로 하는 프로그램은 약 97%로 나타났다. 대학생과 기타연령을 위한 프로그램은 3%정도로 나타났다. 해당 연령을 대상으로 진행하는 프로그램 수 및 구성비율은 다음과 같다.
구분 | 초등학생 | 중학생 | 고등학생 | 대학생 | 기타연령 |
N(개) | 1,368 | 1,356 | 840 | 45 | 61 |
% | 37.28 | 36.95 | 22.89 | 1.23 | 1.66 |
# 초, 중, 고, 대, 기타로 분리한 더미처리
create view grade_dummy as
select
orgName,
target,
if(target like("%초%"), 1, 0) as 초등,
if(target like("%중%"), 1, 0) as 중등,
if(target like("%고%"), 1, 0) as 고등,
if(target like("%대%"), 1, 0) as 대학,
if(target like("%기타%"), 1, 0) as 기타
from programlist;
바. Insight
1) 운영기관의 1/3dl 1개 프로그램만 운영한다. 이유가 있을까?
- 프로그램을 1개만 운영하는 프로그램들의 특징을 파악한다.
- 프로그램을 2개 이상 운영하는 프로그램들의 특징을 파악한다.
2) 대학생과 기타 연령을 모집하는 프로그램들의 특징을 파악한다.
2. ProgramInfo
programInfo table은 programlist table에 있는 데이터들의 세부 정보이다.
컬럼은 programlist 테이블과 동일한데 담당자이름, email, 프로그램 정보 1, 프로그램 정보2 컬럼이 추가되어 있다.
이 테이블을 통해 알 수 있는 정보는 결국 추가된 컬럼으로 진행해야 한다.
- 기관명과 전화번호를 알고 있으니 일단 지역은 알 수 있다.
- api를 활용해 주소와 위경도를 알 수 있을 것이다.
- 프로그램 정보1, 정보2의 경우는 어떤 프로그램일지 살펴보며 분류해야 한다.
programInfo테이블의 가공을 끝내면 Programlist, Datelist테이블과 함께 엮어 분석을 진행할 수 있을것 같다.
추가데이터 수집
추가 데이터는 주소와 위경도를 수집한다. 추가로 데이터를 수집하기 위해 naver map api를 활용한다. db에 저장해 두었던 데이터를 불러와 기관 이름을 리스트로 저장한 후 api를 활용해 정보를 가
hiphan-mansoorrr.tistory.com
'Data Analysis > 청소년수련활동인증제' 카테고리의 다른 글
공공데이터api_데이터정제 1 - 데이터 하나만 남도록 설정 (0) | 2023.08.09 |
---|---|
공공데이터 api 활용 수집 이후 추가데이터수집 보완 (0) | 2023.08.08 |
공공데이터 api 활용 수집 이후 추가데이터 수집 (0) | 2023.08.07 |
공공데이터 api 활용 데이터 수집 (0) | 2023.08.01 |
청소년수련활동인증제란 (0) | 2023.08.01 |