5. iPhython Notebook 살펴보기
iphython실행하기
Anaconda Prompt를 실행한 뒤, [jupyter notebook]을 입력하면 아래와 같이 뜨면서, http://localhost:8888/tree의 크롬 웹사이트가 자동으로 열린다. 뜬 화면이 바로 iPython Notebook GUI 화면이다.
커맨드콘솔을 써야하는 iPython과는 비교가 된다.
홈폴더의 내용물이 표시되어있다.
iPython NoteBook 살펴보기
- 앞서 만들었던 python_da폴더에 들어가서, 우측상단의 [new] > phyhon3 버튼을 눌러 데이터분석 한번에 할 때 사용할 일지인 [노트북]을 만들어야한다.
먼저 노트북 제목을 설정하기 위해, Untitled 을 클릭해서 노트북 이름을 바꾼다 - 화면에 보이는 직사각형의 입력라인은 [cell]이라 한다. 클릭을 통해 활성화하고, cell바깥을 클릭하여 비활성화 시킨다.
ipython과 다르게 여러줄 입력이 가능하다.
이제 화면상단에 보이는 [Run]을 클릭하면 콘솔에서 enter친 것처럼, 출력문을 표시한 뒤, 다음 셀로 넘어간다.
현재 셀을 실행하지 않고, 한꺼번에 여러 셀들을 입력한 다음, 한번에 실행 시킬려면 [ + ]을 눌러서 셀을 추가한다. 이 때, 실행되지 않은 셀들은 [ 출력순서 ]가 비어있다. 다 작성하고 난뒤에, 비어있는 가장 첫번째 cell으로 이동한 다음, Run을 실행해줘서 순차적으로 실행시킬 수 있다.
* 사실 [ ]안에 수는 라인번호가 아니라 가장 최근에 실행된 cell을 의미한다.
만약 실행했던 셀을 다시 실행하고 싶다면, 해당 셀을 선택한 뒤 Run을 눌러주면 된다. 그러면 [ ] 안에 출력순서가 커지면서 가장 최근에 실행되었다는 것을 알린다 - cell을 삭제하는 버튼은, 해당 셀을 클릭한 다음, [가위]버튼을 이용해서 삭제한다. 사실 잘라내기를 실행시킨 것이므로 옮기고 싶은 바로 위 셀에서
[붙히기(paste cell below]버튼을 누르면 된다.
단순하게 이동만 시키고 싶다면 [ 위/아래 화살표]를 눌러서 조절할 수 있다. - 메모리에 올라온 모든 정보(변수 및 메소드())를 삭제하고 싶다면 [ 회전화살표 ] – Restart kernel을 통해 메모리에 정보들을 모두 삭제시킨다.
%who를 통해 확인할 수 있다. - 화면에 올라온 변수와 출력정보까지 삭제하고 싶다면 상단 메뉴중 Kernel > [ Restart kerner and Clear Output ]을 누른다.
셀의 내용만 남아있게 되고, 출력순서 [ ]는 모두 비어진다.
모든 셀을 다시 순차적으로 실행하고 싶다면, 상단 메뉴중 Cell > [ Run all ]을 선택한다.
만일 순서가 뒤죽박죽이라 에러가 난다면, 셀 위치를 조절하거나 해당 셀을 삭제한 뒤 다시 실행시켜야함. - 이제 작성한 노트북을 다른 형태로 Export 할 수 있다. 상단 File > DownLoad as 를 선택한다.
예를 들어, html로 저장한 뒤 실행해보면 아래와 같다. 셀의 정보와 출력문을 나타내준다. - 메뉴버튼 중 [키보드]모양을 클릭하면 단축키 리스트들이 나와있다.
- 지금까지의 내용을 저장하려면 상단의 [디스켓]버튼을 눌러서 저장한다. 그러면 우측에 Check point라는 것이 뜨게 될 것이다.
- 노트북을 종료하고 싶다면 File > Close and Halt를 눌러 종료한다.
*.ipynb는 iPython NoteBook 에서 다루는 파일의 확장자다 - 이제 ipython notebook을 완전히 종료하고 싶다면, 웹사이트 뿐만 아니라 아나콘다 프롬프트에 들어가서 [Ctrl + C]를 통해 완전히 종료한다. interrupted..가 뜨면서 종료되어, 홈폴더 경로에 다시 위치하게 된다.
'빅데이터 관련 프로그래밍 > Python - bigdata(pandas 기초)' 카테고리의 다른 글
7. Numpy array 인덱싱( 기본인덱싱, boolean인덱싱(마스크)) (2) | 2018.02.23 |
---|---|
6. 기초 라이브러리 Numpy(넘파이) 사용하기 (import, 데이터형, array연산) (0) | 2018.02.22 |
4. iPython 살펴보기 (0) | 2018.02.22 |
3. 윈도우에서 파이썬(python) 및 파이썬 라이브러리(numpy, pandas, matplotlib, jupyter) 설치 (0) | 2018.02.22 |
2. IPython, IPython Notebook 그리고 Library (0) | 2018.02.22 |
4. iPython 살펴보기
iPython 살펴보기
앞서 ipython은 기본 파이썬 대화식 프로그래밍 툴(Python shell)에다가 몇가지 기능을 덧붙인 툴이라고 설명했다.
Anaconda Prompt에서 ipython을 입력하여 사용할 수 있다.
- ipython 콘솔에서 초록색 in은 내가 코드를 입력할 수 있는 상태를 의미한다. [ ] 안에 숫자는 해당라인을 의미한다.
대화식 프로그래밍이 가능하게하는 파이썬의 장점은, 내가 보고싶은 변수를 입력하면 바로 out [ 해당라인 ] 으로 답을 해준다는 것이다.
print( 변수 ) 로 출력할 수 있으나, 변수명만 입력하면 출력해준 다는 것은 엄청난 장점이다. - tab 키를 통해서 긴 변수라도 자동완성해주는 기능을 제공한다.
이는 변수가 많아 졌을 때 대단히 유용하다 - 하나의 In에다가 복수개의 행을 입력할 수 있다.
반복문, 조건문처럼 복수개의 행을 입력할 때, enter를 입력하더라도 자동으로 들여쓰기가 된다.
조건문의 경우에는, else문은 if문과 동일한 위상으로 직접 적용해줘야하는 주의사항이 있다.
함수를 정의할 때도 유사하게 진행된다. - 이때, [ Ctrl + L ]을 입력하면 지금까지 작성한 라인들을 다 삭제해준다(python 2.x 버전에서는 clear 명령어였다)
- 어떤 변수나 함수에 ?(물음표)를 붙히면, 자료형/값/ 간단한 정보를 제공해준다.
앞에 정의한 변수에 number_of_employees? 확인해보자
함수의 경우, 함수()뒤에 소괄호()를 빼고 함수이름? 으로 확인할 수 있다. - iPython에서 제공하는 [ %who] 명령어를 입력하면, 현재까지 정의한 모든 변수/함수를 확인할 수 있다.
이러한 iPython명령어들을 매직커맨드(매직명렁어)라고 한다.
del number_of_employees를 통해 변수를 삭제한 다음, %who를 통해 메모리에 올라와있는 변수를 다시 확인해보자.
이제 모든 변수/함수를 삭제하는 [%reset]명령어를 입력하고, %who로 확인해보자.
[%time + 계산식 ]이라는 매직명령어는 특정코드가 사용되는 소요된 시간을 확인할 수 있다.
cf) range( a )는 0부터 시작해서 a-1까지의 범위를 의미한다. a직전에 stop한다는 의미이다.
**는 거듭제곱을 의미한다.
'빅데이터 관련 프로그래밍 > Python - bigdata(pandas 기초)' 카테고리의 다른 글
6. 기초 라이브러리 Numpy(넘파이) 사용하기 (import, 데이터형, array연산) (0) | 2018.02.22 |
---|---|
5. iPhython Notebook 살펴보기 (1) | 2018.02.22 |
3. 윈도우에서 파이썬(python) 및 파이썬 라이브러리(numpy, pandas, matplotlib, jupyter) 설치 (0) | 2018.02.22 |
2. IPython, IPython Notebook 그리고 Library (0) | 2018.02.22 |
1. 빅데이터 분석과 파이썬(Python) (0) | 2018.02.22 |
3. 윈도우에서 파이썬(python) 및 파이썬 라이브러리(numpy, pandas, matplotlib, jupyter) 설치
1. 미니콘다 설치
아나콘다는 오픈소스 파이썬의 플랫폼으로, 단순설치로 환경설정을 한번에 끝내주기 때문에 아주 편리하다.
아나콘다에서 떨어져나온 미니콘다(miniconda)는 핵심만 뽑아서 재구성한 플랫폼이다. 오픈소스 관리패키지인 콘다와 파이썬만 포함하기 때문에, 설치가 훨씬 빠르다.
- https://conda.io/miniconda.html 에 들어가서 윈도우 비트수에 맞게 다운받아서 설치한다. 혹시 자기 윈도우가 몇비트인지 모르는 사람은 내컴퓨터 우클릭> 속성 > 시스템 종류에서 확인한다.
- 최신버전(2018. 2. 22)인 MiniConda phython3.6 64비트를 다운받아 설치한다.
- 윈도우메뉴 > 프로그램 및 검색 에서 [ cmd ]를 검색하여 명령 프롬프트을 실행 > [ conda]를 입력하여 파이썬이 제대로 설치되었는지 확인한다.
나같은 경우, d:\User\사용자폴더\ 에 설치하였다. 그리고 cmd 혹은 명령프롬프트에서 conda명령어가 안먹혔다. 그래서 시작메뉴 > 설치된 아나콘다 > [Anaconda Prompt ]를 실행해서 conda 를 치니 정상적으로 확인이 되었다.
- 명령어들은 콘다라는 패키지매니져의 커맨드들을 나타나는 것을 확인 할 수 있다.
2. conda 버전 업데이트하기
Anaconda Prompt에서 [ conda update conda ]를 입력해준다.
3. 파이썬 버전 확인하기
[ python --version ]을 입력하면 미니콘다를 통해 설치된 파이썬의 버전을 확인할 수 있다.
4. iPython설치
파이썬의 패키지매니져 중에 하나인 pip명령어를 통해서 ipython과 여러 라이브러리를 설치한다.
- ipython설치 : [ pip install ipython ]을 입력하여 설치한다.
- ipython실행 : [ ipython]을 입력한다.
- ipython종료 : [ exit() ]를 입력한다.(엑시트 함수)
5. 실습 폴더 사전작업
윈도우 탐색기에 들어간, c:\User\cho(사용자명)은 홈폴더이다. 이 폴더에 데이터분석을 위한 폴더를 몇개 더 만들 것이다.
6. 라이브러리 설치
- Numpy 설치 : 커맨트창에 [ pip install numpy ]를 입력하여 바로 설치한다.
- pandas 설치 : [ pip install pandas ]를 입력하여 설치한다
- matplotlib 설치 : [ pip install matplotlib ]을 입력하여 설치한다.
- jupyter 설치 : [ pip install jupyer ]를 입력하여 설치
* ipython 라이브러리를 사용하도록 해주는 라이브러리이다.
'빅데이터 관련 프로그래밍 > Python - bigdata(pandas 기초)' 카테고리의 다른 글
6. 기초 라이브러리 Numpy(넘파이) 사용하기 (import, 데이터형, array연산) (0) | 2018.02.22 |
---|---|
5. iPhython Notebook 살펴보기 (1) | 2018.02.22 |
4. iPython 살펴보기 (0) | 2018.02.22 |
2. IPython, IPython Notebook 그리고 Library (0) | 2018.02.22 |
1. 빅데이터 분석과 파이썬(Python) (0) | 2018.02.22 |
2. IPython, IPython Notebook 그리고 Library
IPython Notebook
Python에서는 Python shell이라는 기본적인 대화식 프로그래밍 툴을 제공하는데, IPython은 이 기본 툴에 몇 가지 강력한 기능을 덧붙인 툴이라고 할 수 있다.
IPython Notebook은, IPython의 대화식 프로그래밍 방식을 기본적으로 제공하면서, 여러분이 데이터 분석을 하는 과정을 노트 형식으로 보기 쉽게 기록하고 정리해 놓을 수 있도록 도와주는 강력한 툴이다.
참고 사이트
- https://www.codecademy.com/learn/python
- https://www.codeschool.com/learn/python
- http://learnpythonthehardway.org
파이썬 데이터분석 라이브러리
Scipy(싸이파이)에서 제공하는 라이브러리들로 수학, 과학 분야를 분석하는데 특화된 에코시스템이다.
- 넘파이(NumPy) : 벡터 및 행렬계산에 엄청난 편의를 제공하는 라이브러리로, 앞으로 사용할 pandas, matplotlib의 기본 베이스가 되는 라이브러리
- 판다스(pandas) : 가장 많이 사용하게 될 라이브러리로, 고유하게 정의된 자료구조를 활용해서 빅데이터를 분석해준다. 기존 엑셀로 하던 모든 분석을 높은 수준으로 스켈과 속도가 커진다.
- 맷플롯립(matplotlib) : numpy와 pandas를 통해 얻은 데이터 분석결과를 시각화 해주는 라이브러리
어떠한 데이터를 다룰까?
- 인터넷 주소를 줄여주는 bit.ly은 json(키-벨류)형식의 인터넷 트래픽 dataset을 분석해서 정부에 제공했다.
- MovieLens는 인터넷 고객의 영화평점을 분석해서 예상평점이 높은 영화를 추천하는 시스템을 공개했다. 사용자별로 id와 영화별id, 평점, 날짜를 분석했다.
- kaggle은 US Baby Names(1880 ~ 2014)의 dataset을 분석했다. 미국의 사회보장국에서 얻은 정보 행의 값인 id, Name, Year, Gender, 총 출생수Count로 분석했다. 그외 대선득표율, 대출상태 관련 데이터셋도 제공했다.
'빅데이터 관련 프로그래밍 > Python - bigdata(pandas 기초)' 카테고리의 다른 글
6. 기초 라이브러리 Numpy(넘파이) 사용하기 (import, 데이터형, array연산) (0) | 2018.02.22 |
---|---|
5. iPhython Notebook 살펴보기 (1) | 2018.02.22 |
4. iPython 살펴보기 (0) | 2018.02.22 |
3. 윈도우에서 파이썬(python) 및 파이썬 라이브러리(numpy, pandas, matplotlib, jupyter) 설치 (0) | 2018.02.22 |
1. 빅데이터 분석과 파이썬(Python) (0) | 2018.02.22 |
1. 빅데이터 분석과 파이썬(Python)
데이터란?
데이터란? 어떤 대상에 대한 측정이나 관찰을 통해, 모아놓은 값이며, 사실을 모아놨다고 해서 데이터셋(Dataset)이라고도 한다.
분석이란? 대상을 더 잘이해하기 위해, 유효적절한 방법으로 나누고 쪼개서 그 대상을 잘 이해하는 것이다.
우리는 데이터의 의미를 도출하기 위해 데이터를 분석한다.
빅데이터에 대한 분석 방법
- 탐색적 데이터 분석(EDA, exploratory data analysis)
- 가설검정
- 기계학습
- 자연어 처리
- 패턴인식
탐색적 데이터분석은 모든 데이터분석의 출발점으로서, 각종 통계적 기법을 적용하여 특징을 발견하고 시각화한다.
이 때, 데이터에 대한 가설을 세우고 검증하는 방법으로 간다. 이제부터 탐색적 데이터분석을 데이터분석이라 줄여서 부르기로 한다.
데이터분석을 통한 수익 창출의 예
- amazon : 고객이 구매한 이전애 구매한 서적을 분석한 뒤, 해당고객과 유사한 구매성향을 가진 고객들에게 그 서적을 추천하는 시스템을 통해 전체 매출의 35%를 차지했다.
- 독일 국가대표팀 : 2014년 독일국가대표팀은, 통계기업에 데이터분석을 요청하였고, 팀워크&개인기량을 높이기 위한 피드백을 제공함. 이를 통해 선수들이 3초->1초까지 공 소유시간을 줄었다.
빅 데이터란?
양이 많이 많고 복잡해서, 통상적인 데이터분석이 먹히지 않는 것이다.
큰수의 법칙(Law of Large Numbers)에 의하면, 표본의 크기가 커질수록 모집단의 평균과 가까워진다는 것이 알려져있다.
예를 들어, 양면의 동전을 여러번 던진다면 결국 앞면과 뒷면의 비율은 1:1로 수렴하게 된다.
데이터의 양이 많을 수록, 분석을 통해 보다 사실에 가까워질 가능성이 높아진다는 것을 알 수 있다.
이 때문에, 분석자들의 입장에서는 어떻게 하면 데이터를 많이 모을 수 있을 까가 화두였다.
하지만, 오늘날 모바일 과 인터넷기술의 발전으로 데이터를 데이터를 축적되는 속도가 매우 높아졌다.
앞어 살펴본 2가지 사례와 같이, 분야를 막론하고 빅데이터의 분석은 어떤 일의 성패와 매우 관련성이 높다.
왜 파이썬인가?
오늘날의 빅데이터란 테라바이트 단위를 말한다. 하지만 개인이 다룰 데이터는 수백 메가바이트 혹은 기가바이트 수준일 뿐이다.
첨부파일을 다운 받아서, 다 모든행이 열리지도 않음에도 불구하고, 년도에 따른 출생자를 구하기 위해, 일부행을 지운 상태에서
데이터 > 부분합 > Year, 합계, Count를 선택해서 구해보자.
왼쪽 상단의 2번 탭을 눌러서, 각 년도에 따른 출생수(Count)를 살펴보자. 하지만 우리는 각 년도별 성별(남/여)에 따른 출생수의 합도 구해야한다. 이때, 부분합을 한번 더 누른 다음 [ gender , 합계, Count, 새로운값으로 대치를 해제 ]하면 된다. 3번째 탭에서 확인해보자.
근데 우리가 해야할 분석은 부분합 2번 하는 것보다 더 복잡할 수 도 있다. 예를 들어, 각 연도별 성별 조합에 따른 출생수의 합 내에서 전체대비 상위 1000가 차지하는 이름의 비중을 구하는 방법은 어떻게 할 것인가?
각 연도별 성별 내에서, 출생수를 기준으로 내림차순 정렬한 다음, 출생수가 많은 이름별로 1번부터 1000번까지 세야한다.
이렇게 엑셀을 통한 빅데이터분석은 계산과정도 함수도 너무 복잡해진다. 결정적으로 데이터가 1048576행까지밖에 로드가 안되며, 그 상태에서 여러방향으로 분석하려해도 속도가 느리고 유연성이 떨어진다.
반면 파이썬에서는 2줄이면 파일을 모두 로드할 수 있고, 차트도 한번에 해결된다. 대신 데이터를 일일히 보여주진 않는다. 작은 데이터규모는 엑셀이 편한데, 빅데이터의 경우에는 파이썬이 압도적이다.
다른 언어도 있는데 왜 수많은 언어중에 파이썬인가?
- 언어 자체가 너무 쉽다.
- 컴퓨터와 대화가 가능하다. 대화식 프로그래밍 방식은 파이썬 이외에 스크립트언어의 특징이기도 하다. 자바, 스칼라, 루비 등이 있다.
특히, 파일이 바뀔때마다 컴파일을 해야하는 수고가 던다. - 강력한 라이브러리를 가진 것이 독보적이다.(NumPy, pandas, matplotlib)
- 공짜다(R과 Phython은 모두 무료인 open source)
R과 python은 무슨 차이인가? 위의 장점들은 R도 가지고 있으나, 파이썬은 경우 다양한 목적으로 사용할 수 있는 언어다.
예를들어, 오늘의 주식시장을 분석한 데이터를 웹사이트에 업데이트하고자 한다. 이런 경우에는, 파이썬 라이브러리를 사용하여 주식시장 데이터를 긁어온 다음, 미리 분석가가 짜놓은 데로 원하는 데이터분석을 실시간으로 하도록하고, 파이썬 웹 프레임워크로 웹사이트를 만들 수 도 있다.
'빅데이터 관련 프로그래밍 > Python - bigdata(pandas 기초)' 카테고리의 다른 글
6. 기초 라이브러리 Numpy(넘파이) 사용하기 (import, 데이터형, array연산) (0) | 2018.02.22 |
---|---|
5. iPhython Notebook 살펴보기 (1) | 2018.02.22 |
4. iPython 살펴보기 (0) | 2018.02.22 |
3. 윈도우에서 파이썬(python) 및 파이썬 라이브러리(numpy, pandas, matplotlib, jupyter) 설치 (0) | 2018.02.22 |
2. IPython, IPython Notebook 그리고 Library (0) | 2018.02.22 |