안녕하세요. 도넛쌤입니다. 정보쿠키 웹진에서 도전하는 데이터과학 공공데이터 활용한 데이터 과학을 파이썬으로 하기전 중학교 시절 배운 엔트리로 데이터를 분석해볼께요.
자 여러분들이 500년전 조선 시대 주모가 되었다고 생각해보세요. 여러분들에게 A4 용지 1장을 줄테니 일주일 동안 팔린 분식집의 메뉴의 종류를 집계해보라고 하면 할 수 어떻게 하겠나요? 아래의 데이터를 보고 분석해보겠어요?
▲분식집 데이터 일부
조선시대 주모가 만든 알고리즘
① 2번째 줄의 메뉴이름 ‘참치마요김밥’을 A4 용지에 메뉴종류 리스트에 추가하기
② 3번째 줄의 메뉴이름 ‘돈가스김밥’을 A4 용지에 메뉴종류 리스트에 추가하기
③ 4번째 줄의 메뉴이름 ‘참치마요김밥’이 A4 용지에 메뉴종류 리스트에 있기 때문에 추가하지 않기 (메뉴종류를 알기 위함이기 때문에 추가하지 않는다.)
→ 자, 이렇게 785번째 줄까지 반복 해요. 이 작업은 사람이 하면 엄청 오래 걸리기도 하지만, 무엇보다도 결과가 정확하지 않을 수 있어요. 자, 이런 문제는 어떻게 해결 해야 할까요? 바로 데이터 과학!!! 엔트리로 이러한 문제를 해결하여 보아요.
여러분들이 중학교에서 배운 엔트리에도 데이터를 분석할 수 있는 기능이 있어요. 지금부터 785개의 분식집 데이터를 10초만에 해결하는 매직(데이터 과학)을 보여드리겠습니다.
아래와 같은 과정으로 같이 한번 해보아요.
1. 엔트리 회원가입 & 로그인
2. 엔트리에 데이터 업로드
3. 데이터 프로그래밍
4. 결과 확인
1.
엔트리 회원가입 & 로그인
도넛쌤은 중학교에서 근무하고 있는데, 학생들과 엔트리 수업을 하면, 플레이 엔트리 (https://playentry.org/#!/) 계정에 로그인 하여 클라우드 공간에 저장합니다. 이렇게 하면, 오늘 실습한 내용을 플레이 엔트리에 접속하여 언제 어디서나 볼 수 있어요. (클라우드
)
▲ 플레이 엔트리 로그인하기
2.
엔트리에 데이터 업로드
엔트리에는 ‘데이터 분석’ 블록 꾸러미가 있어요. 지금과 같은 문제를 해결하기 위해 데이터 프로그래밍을 하는데 필요해요. 아래의 단계처럼 차근차근 따라 해보아요.
(실습 전, 아래의 ‘분석집 데이터.xlsx’를 다운로드 해주세요.)
ⅱ 플레이 엔트리 클라우드 공간에 작품을 저장해보세요.
① 작품 이름 변경 (분석집 데이터 분석하기)
② [
] - [저장하기]
ⅲ 이제 데이터 분석 블록을 본격적으로 알아봅시다.
① [데이터분석]
② [테이블 불러오기]
ⅳ [테이블 추가하기] - [파일 올리기] - [파일 선택]
① (’분식집 데이터’ 열기) ← 분식집 데이터는 위에서 다운받기
② [열기]
ⅴ 엔트리는 스프레드시트 파일을 올릴 때, 제약이 있어요. 하지만, 우리 실습에는 해당이 되지 않으니 Pass~~
① 업로드한 파일 확인
② [추가하기]
ⅵ 이제 엔트리에 데이터 업로드 완료!!!
① 업로드한 데이터 확인
② [적용하기]
3.
데이터 프로그래밍
이제는 데이터를 갖고 프로그래밍 해보아요! 아까 말로 작성한 알고리즘을 그대로 엔트리 프로그램으로 옮기면 됩니다. 그럼 Let’s go!
ⅰ 변수를 만들어 보아요. 2, 3, 4, … 785번째 줄의 데이터의 순차적으로 접근하기 위한 ‘행번호’ 변수를 만듦니다.
①~③ [속성] - [변수] - [변수 추가하기]
④ 변수 이름을 ‘행번호’로 만들어요.
⑤ [변수 추가]
ⅱ 리스트를 만들어 보아요. 분식집의 모든 메뉴를 담을 수 있는 공간 ‘메뉴 종류’ 리스트라 명명 합니다.
①~③ [속성] - [리스트] - [리스트 추가하기]
④ 변수 이름을 ‘행번호’로 만들어요.
⑤ [리스트 추가]
ⅲ 위에서 만든 알고리즘이다. 이것을 코드로 옮기면, 그만이에요!
즉, 784번 동안 N번째 줄의 메뉴이름이 메뉴종류 리스트에 없으면, 추가하면 됩니다.
이 말을 엔트리로 만들면 아래와 같습니다.
▲ 정답 코드
4.
결과 확인
결과를 확인해보면, 785건의 데이터를 약 10초만에 해결한 것임을 볼 수 있어요.
마치며…
아마, 이 프로그램을 완성했다면, 다음을 도전 해보고 싶을 것이에요. 도넛쌤 역시 수업 후 학생들에게 추가 과제로 메뉴종류별 얼마나 팔렸는지 만들어보는 과제를 냈어요. 하지만, 교육용 프로그래밍 언어의 한계로 이 부분은 구현하기 어려웠어요. 어떻게 어떻게 구현을 했지만, 속도가 엄청 느리더라구요. 도넛쌤의 생각은 그렇습니다. ‘이제는 엔트리 말고, 파이썬으로 분석을 해야 한다.’ 라는 생각이 들었어요. 이런거 2차원 리스트 사용하면 뚝딱이거든요? 자 이제 다음 주제부터는 파이썬으로 데이터 분석을 시작하려고 합니다. 엔트리로 펼치기 어려웠던 여러분의 상상력을 파이썬으로 마음것 발휘하세요. 화이팅~~~
도넛쌤 드림.