[23파이썬특강] 1강. 개발환경과 기본개념
0. 실습 코드
- 다음 파일들을 로컬 컴퓨터의 워킹 디렉터리에 다운로드 받아서 강의에 참석한다.
- 코드 파일:
- 데이터 파일:
1. 파이썬 데이터 분석
1.1. 데이터 분석
- 데이터에는 사람들이 살아온 흔적, 세상이 움직인 흔적 등이 담겨 있다.
- 데이터 분석: 데이터에서 패턴을 찾아내는 일이다.
- 데이터 분석의 범위와 유사 용어 간의 차이 등은 다음 웹페이지를 참조. * [Chapter 01] 데이터 분석을 시작하며 - 1 데이터 분석이란
1.2. 파이썬이 강력한 데이터 분석 도구인 이유
- 폭넓은 사용처 : 통계 분석, 머신러닝 모델링, 텍스트 마이닝, 네트워크 분석, 지도 시각화, 주식 분석, 이미지 분석, 사운드 분석, 소프트웨어 개발 등에 널리 사용된다 → 2022년 1월 현재, 프로그래밍 언어 중 1위
- 오픈 소스이며 다양한 그래프 작성도 가능하다.
- 프로그래밍 방식: 재현성 확보, 오류 방지, 공동 작업 등에 유용하다.
1.3. 본 교재의 특징
- 데이터 분석 기술을 익히는 데 집중한다. 파이썬 프로그래밍 문법은 데이터를 분석하는 데 필요한 만큼만 다룬다.
- 백과사전식1) 방식 대신 처음부터 데이터를 분석하면서 그때그때 필요한 기능을 익한다.
2. 주피터랩 환경설정
2.1. 개요 및 기본 구성
- 주피터랩: 주피터노트북, 구글 코랩(Colab) 등과 대동소이하다. 확장자가 모두
ipynb이다. 주피터랩은 주피터노트북이 진화된 형태. - ‘주피터’라는 명칭: 지원하는 핵심 언어 3가지인 Julia, Python, R에서 Jupyter라는 이름이 유래했다. 주피터노트북의 과거 명칭은 Ipython Notebook이었으나, Python뿐 아니라 여러 프로그래밍 언어를 지원하게 되어 명칭을 변경하였다.
- 화면 구성: 파일 브라우저(왼쪽 창)는 파일 관리를, 런처(launcher, 오른쪽 창)는 주요 기능을 실행한다.
- 노트북: 코드와 출력 결과를 정리한 문서. (1) 셀(cell)을 이용해서 명령어를 실행한다. (2) 이 셀에서 텍스트 문서도 작성할 수 있다.
2.2. 셀: 두 가지 모드
- 에디트 모드(edit mode): (1) 셀에 코드를 입력하거나 수정할 수 있는 상태. 셀 안에 커서가 깜빡이고 테두리가 파란색으로 표시된다. 셀을 마우스로 클릭하거나 엔터키를 누르면 에디터 모드가 된다. (2)
ctrl+Enter: 현재 셀을 실행.shift+Enter: 현재 셀을 실행 후 다음 셀로 이동하고, 다음 셀이 없으면 새로 셀을 생성해서 그곳으로 이동. - 커맨드 모드(command mode): (1) 셀 자체를 편집할 수 있는 상태. 셀의 안쪽 면과 테두리가 모두 회색으로 표시된다. 에디터 모드에서
Esc를 누르면 커맨드 모드가 된다. (2) 방향키로 다른 셀을 선택할 수 있고, 셀 왼쪽을 마우스로 드래그해서 셀 순서를 바꿀 수 있다. 커맨드 모드에서shift+방향키로 여러 셀을 선택 가능. 단축키를 이용하여 셀을 자유롭게 편집할 수도 있다.(→ 교재 42쪽 참조)
2.3. 셀: 세 가지 타입
- 코드(code): (1) 코드를 작성, 수정, 실행할 수 있다. (2) ‘마크다운 → 코드’는 커맨드 모드에서
y를 누른다. - 마크다운(markdown): (1) 마크다운 문법을 사용해서 문서를 가독성있게 작성할 수 있다. 제목이나 코드 설명 등을 작성하는 데 사용된다. 사진과 링크도 첨부할 수 있다. (2) ‘코드 → 마크다운’은 커맨드 모드에서
m을 누른다. - 로우(raw): 셀에 입력된 그대로 출력.
2.4. 편리한 설정
- 자동 괄호 닫기: 이 기능을 활성화하면 여는 괄호만 입력해도 닫힘 괄호가 함께 입력된다.
Settings -> Auto Close Brackets체크. - 고정폭 글꼴: (1) 코드의 가독성을 높이기 위해 고정폭 글꼴로 변경한다. 그 중에서도 D2coding은 영어와 한글 글씨체가 모두 예뻐서 우리나라에서 많이 선호한다. (2) “D2Coding 폰트 설치하기”를 보며 D2coding 글꼴을 다운로드 받아서 로컬 pc에 설치한다. (3) “주피터랩: 코드 줄 표시 default 표시, 폰트 사이즈, family 변경”을 참조하여, 주피터랩에서 D2coding 폰트를 설정하고 크기를 지정한다. code, markdown, raw 세 타입 모두 지정한다. (4) 주피터랩을 종료한 뒤 재실행하면 변경한 글꼴이 적용된다.
3. 데이터 분석에 필요한 기본 개념
- 데이터 분석에서 기본적인 개념은 변수와 함수이다. 변수는 데이터 분석의 대상이며, 함수는 데이터 분석을 실행하는 주요 도구이다. 따라서 데이터 분석은 함수를 이용해서 변수를 조작하는 일이다. 이는 목재 의자를 만들 때, 톱이나 쇠망치 같은 도구로 나무와 못 등의 재료를 가공하는 것과 비슷하다.
3.1. 변수
- 수학에서 변수는 ‘여러 값으로 변하는 수’를 말한다. ‘b = a + 1’에서 a가 10일때 b는 11, a가 20일 때 b는 21이 된다. a가 변하면서 b도 변한다. 이처럼 수식 안에서 여러 값으로 변하는 a와 b를 변수라고 한다.
-
프로그래밍에서 변수는 ‘데이터를 저장하는 공간’을 말한다.
a = 10이라는 코드을 읽으면 컴퓨터는 사용 가능한 빈 공간을 찾아서, 여기에 a라는 이름을 붙이고 값인 10을 넣는다. 이런 까닭에 변수는 어떤 값을 담는 그릇이나, 어떤 값에 달아 놓는 꼬리표(= tag)에 종종 비유된다. - 우리가 가장 많이 다룰 표에서 변수는 다양한 값을 지닌 하나의 속성이다. 어떤 정보에서 ‘소득’ 항목의 값이 1,000만 원~4,000만 원의 범위에 분포할 경우 이 ‘소득’ 항목은 변수에 해당한다.(→ 교재 53쪽 참조)
- 변수란 데이터에 이름을 붙인 것: [변수 / 00:05:22] (생활코딩, 2021-07-28)
- 우리가 가장 많이 다룰 표에서 변수는 다양한 값을 지닌 하나의 속성이다. 어떤 정보에서 ‘소득’ 항목의 값이 1,000만 원~4,000만 원의 범위에 분포할 경우 이 ‘소득’ 항목은 변수에 해당한다.(→ 교재 53쪽 참조)
- 변수 이름 정하기 규칙: (1) 문자로 시작해야 하며, 영문을 권장하고 소문자로만 만드는 것이 좋다. (2) 문자, 숫자, 언더바(_)를 조합할 수 있다. 빈칸은 사용할 수 없고 숫자가 먼저 나올 수 없다. (3) 알아보기 쉽고 잘 기억되도록 의미를 담아 정한다. (4) 프로그래밍 언어의 문법에서 사용되는 키워드(= ‘예약어’)는 사용할 수 없다. 예) is, not, def, if, else, for, while 등
- 변수에는 한 개의 숫자 이외에 문자, 여러 개의 값 등도 넣을 수 있다. (→ 교재 54-58쪽)
3.2. 함수
- 함수: ‘기능’이라는 의미를 가진 영어 ‘function’을 한자로 음역(‘函數’)한 것에서 유래하였다.
- 수학에서는 입력값 x와 출력값 y의 관계를 함수라고 한다. 파이썬 프로그래밍에서도 함수는, 입력값을 받아서 어떤 행동을 취하고 그 결과값을 내놓는 코드를 함수라고 한다. * 출처: 파이썬/Python: 함수의 정의와 활용에 대한 완벽 정리
- 함수란 정리정돈의 도구: [함수 / 00:14:46] (생활코딩, 2021-10-21)
3.3. 패키지
- 패키지(packages): 다양한 함수를 모아둔 것. =:= 함수 꾸러미. ‘라이브러리’라고도 한다. 파이썬 패키지로는 판다스(Pandas), 넘파이 (NumPy)가 대표적이다.
- 패키지 활용: ‘패키지 설치 → 패키지 로드 → 함수 사용’. 그런데 아나콘다에는 주요 패키지가 대부분 들어 있으므로 아나콘다를 이용해서 파이썬을 설치했다면, 설치 과정 생략하고 바로 패키지를 로드하여 함수를 사용할 수 있다.
- 패키지 함수: 패키지를 설치해서 사용하는 함수. ex) 시본(seaborn) 패키지에는 countplot(), scatterplot() 등 그래프 관련 함수가 들어 있다. cf) 내장 함수: 파이썬에 기본으로 내장되어 있어서 패키지 설치 없이 사용할 수 있다. ex) sum(), max(), min() 등
- 모듈(module): 패키지 함수를 비슷한 것끼리 나눈 것. =:= 작은 꾸러미들. 모듈에 들어있는 함수를 사용하려면,
패키지명.모듈명.함수명()을 입력하면 된다. ex) 사이킷런(sklearn) 패키지의 메트릭스(metrics) 모듈에 들어 있는 accuracy_score() 함수 사용하려면 →sklearn.metrics.accuracy_score()
참고 문헌
- 안지혜, 2021, «(Let’s get IT) 파이썬 프로그래밍: 데이터 분석 프로젝트로 프로그래밍 사고력 기르기», 서울: 길벗
- 정동균, 2021, «(Do it!) 첫 코딩 with 파이썬: 보통 사람이 알아야 할 프로그래밍 기초», 서울: 이지스퍼블리싱
- 츠지신고(진명조 옮김), 2018, «(친절한 설명과 다양한 예제로 배우는) 파이썬 쉽게, 더 쉽게», Jpub(제이펍)
주석
1) 백과사전식: 기초 문법과 함수를 나열해 가며 하나하나 익힌 후, 마지막에 데이터 분석 실습을 한다.
댓글남기기