2021. 1. 28. 16:03ㆍ교육과정/KOSMO
키워드 : 주피터 노트북 실행 / 주피터 노트북 문서 ( 마크다운 문서 ) 작성 / 파이썬 가상환경 / 파이썬 지도 GUI ( folium ) /
****
1. 주피터 노트북에서 파이썬 파일위치를 루트 경로로 지정하기
(1) Anaconda 설치시 주피터 노트북이 함께 설치된다.
(2) 주피터 노트북 실행시 웹 브라우저로 파이썬을 사용할 수 있다.
까만 화면은 주피터 노트북 서버가 열려있는 것으로, 접속 방법을 변경하고자 할 경우 안내된 내로 수행하면 된다.
(3) 내 컴퓨터의 Users 폴더가 루트 경로로 설정되어 있으므로 파이썬 파일이 있는 폴더로 변경할 수 있다.
① 파일 위치 열기
② % % 안에 환경변수가 지정되어 있다.
③ 파이썬 파일이 있는 폴더로 경로를 변경 후 적용 - 확인 클릭
④ 주피터 노트북 재실행시, 지정한 폴더를 루트 경로로 하여 열림을 확인할 수 있다.
2. 주피터 노트북에서 문서 만들기
(1) 주피터 노트북에서 문서를 작성하고 다양한 확장자명으로 저장할 수 있다.
(2) 주피터 노트북의 File 탭에서 오른쪽의 New 클릭하여 새 py 파일을 만들고, 파일명을 지정할 수 있다.
(3)
s1? # shift + enter로 실행하면 도움말이 출력된다 |
?s1 # shift + enter : 위와 동일한 결과 |
s1 # shift + tab 은 간단하게 출력된다 -> 물론 [+] 버튼을 누르면 전체 도움말 확인 가능 |
파이썬 주요 패키지¶
4. Matplotlib / Seaborn¶
- 파이썬의 대표적인 시각화 패키지
- 시각적인 디자인 부분이 투박하고 단순한 시각화 표현에도 코드가 길어질 수 있다
-
matplotlib를 보완하기 위한 패키지가 seaborn 이다
?변수 또는 변수? > shift + enter
?함수 > shift + enter
또는 변수나 함수에 커서 놓고 > shift + tab
타이핑 하면서 탭키를 누르면 완성된다
[ 참고 ] 데이타사이언트스쿨
크롬으로 변경하려면¶
먼저 크롬을 열고 서버 콘솔 창에 있는 주소르 복사하여 URL 경로에 붙인다
ex) http://localhost:8888/?token=cd1933550bfed6c793c10636004dd6fa50306e2e66ab51c8
* [ 공부하는 방식 ]¶
기존 자바는 A -> B - > C 순으로 A를 익히고 B를 공부한다. 그러나 파이썬 저자나 전문가들이 추천하는 공부 방법은 A -> B -> C - > D를 가볍게 공부하고 C에서 다시 A가 필요하면 그 때 다시 A를 공부하고 D에서 다시 A와 B가 필요하면 다시 A와 B를 공부하는 방식으로 하는 것이 좋다고 한다.
물론 A를 마스터(?)하고 B를 넘어가고자 할 수 있지만 이런 식으로 공부하면 더디고 지쳐서 중도포기할 수 있기 때문이다.
즉 파이썬은 기초를 완벽하게 다지고 단계 단계를 거치는 것보다¶
예제를 풀 때 부딪치며 모르는 부분을 API나 인터넷을 찾으면서 공부하는 것을 권장한다¶
넘파이와 판다스에 대한 기본 사항을 습득하고 일단 코드와 부딪쳐 가면서 모르는 API에 대해서는 찾아가며 습득하는 것이 머신러닝 뿐만 아니라 넘파이, 판다스에 관한 이해를 넓히는 빠른 방법이다
그래서 우리는 기본 사항을 잘 정리해야 한다. 다시 이해해야 할 상황에 다시 익히고 추가할 내용을 다시 추가하여 정리하는 방식으로 파이썬을 완성해 나아가 한다.
3. 주피터 노트북에서 문서 작업하기
(1)
(2)
(3)
(4)
(5)
4. 주피터 노트북 커널
kernel : 현재 노트북의 실행하는 주체¶
i=100
i*2
200
i=100
i*2
i
100
import time
print('hello')
time.sleep(3)
print('hi')
hello
hi
print('hello')
time.sleep(10)
print('hi')
hello
hi
도중에 셀을 중단하려면?¶
- 메뉴 > Kernel > Interrupt
- 메뉴 > Kernel > Restart
그러나 restart 후 다시 i값을 출력하려면 i 변수 없다고 에러발생
restart 후에는 각 셀들을 다시 실행해야 한다
아니면 메뉴 > Kernel > Restart & Run All
5. 파이썬에서 가상환경 만들기
- 파이썬3.6으로 가상환경을 만들기¶
-
Anaconda나 Miniconda 설치 후 Anaconda Prompt 실행
-
버전확인
conda -V
-
conda 업데이트
conda update -n base -c defaults conda
-
가상환경 만들기 (가상환경이름: study36)
conda create -n study36 python=3.6
-
가상환경 목록 보기
conda env list
-
가상환경 실행
conda activate study36
- base C:\ProgramData\Anaconda3
-
study36 * C:\Users\kimsi.conda\envs\study36
현재 환경에는 *가 붙어있다
-
파이썬 버전 확인
python -V python --version pip -V
-
주피터 추가 설치 ( study36 환경에서 설치 )
pip install jupyter
-
주피터 실행
jupyter notebook
[참고] 브라우저는 크롬을 권장
- 지도를 출력하는 folium이 크롬에서 잘 출력되기 때문에
- 한 셀을 실행 : shfit + enter
도움말 보기¶
s1? # shift + enter로 실행하면 도움말이 출력된다
?s1 # shift + enter : 위와 동일한 결과
s1 # shift + tab 은 간단하게 출력된다 -> 물론 [+] 버튼을 누르면 전체 도움말 확인 가능
타이핑 하면서 탭키를 누르면 완성된다
6. 파이썬 리스트와 튜플
파이썬의 리스트와 튜플¶
(1) 22, 44, 11 요소의 리스트 a_data 생성
(2) 길자, 길동, 길길 요소의 튜플 b_data생성
(3) b_data 튜플을 a_data 리스트에 추가
a_data = [22, 44, 11]
b_data = ('길자', '길동', '길길')
a_data.append(b_data)
(4) b_data에서 2번째 요소까지 출력
print(b_data[:2])
('길자', '길동')
(5) a_data를 튜플로 변경
a_data = tuple(a_data)
(6) 11을 10으로 변경하려면?
a_data.index(11)
2
리스트 복습¶
-
append(추가요소) : 리스트 맨 마지막에 하나 추가
-
pop() : 마지막요소를 지움
-
extend([추가요소들]) : 리스트 마지막에 여러 개 추가
-
remove('요소값') : 해당 요소값 지움
- insert(idx, '데이타') : 원하는 위치에 자료 삽입
[슬라이싱]
- 리스트명(n:m) : n부터 m-1까지 데이타 추출
movies = ['어밴져스','기생충','가디언스갤럭시','어떤영화','유명한 영화']
movies
['어밴져스', '기생충', '가디언스갤럭시', '어떤영화', '유명한 영화']
(1) '어젠져스2' 추가
movies.append('어벤져스2')
movies
['어밴져스', '기생충', '가디언스갤럭시', '어떤영화', '유명한 영화', '어벤져스2']
(2) 마지막요소 제거
movies.pop()
movies
['어밴져스', '기생충', '가디언스갤럭시', '어떤영화', '유명한 영화']
(3) '어벤져스2','기생충2' 요소를 한꺼번에 추가
movies.extend(['어벤져스2', '기생충2'])
movies
['어밴져스', '기생충', '가디언스갤럭시', '어떤영화', '유명한 영화', '어벤져스2', '기생충2']
(4) '어벤져스2' 요소 제거
movies.remove('어벤져스2')
movies
['어밴져스', '기생충', '가디언스갤럭시', '어떤영화', '유명한 영화', '기생충2']
(5) 4번째 위치에 '오래된 영화' 추가
movies.insert(4,'오래된 영화')
movies
['어밴져스', '기생충', '가디언스갤럭시', '어떤영화', '오래된 영화', '유명한 영화', '기생충2']
(6) 영화목록에서 3번째에서 5번째까지 추출
movies[3:6]
['어떤영화', '오래된 영화', '유명한 영화']
7. 파이썬 지도 GUI ( folium 라이브러리 활용 )
(1) folium 라이브러리는 터미널에서 별도 설치가 필요하다.
(2) py 파일에 라이브러리를 임포트한다.
import folium
(3) 구글맵에서 위도와 경도를 가져온 뒤 지도상에 zoom_start 옵션을 사용하여 범위를 조절할 수 있다.
map_temp = folium.Map(location=[37.576096, 126.976843], zoom_start=19)
(4) 특정위치에 마커를 사용하여 표시할 수 있다.
① 마커 - ⅰ
folium.Marker(location=[37.576096, 126.976843], popup='펄~럭~펄~럭~').add_to(map_temp)
② 마커 - ⅱ
folium.Marker(location=[37.576096, 126.976843],
popup='펄~럭~',
icon=folium.Icon(color='red')).add_to(map_temp)
③ 마커 - ⅲ
folium.Marker(location=[37.576096, 126.976843],
popup='펄~럭~펄~럭~',
icon=folium.Icon(icon='info_sign')).add_to(map_temp)
④ 써클마커
folium.CircleMarker(location=[37.576096, 126.976843],
popup='펄~럭~펄~럭~',
radius=100,
color='blue',
fill_color='ABEDFF').add_to(map_temp)
(5) 마커와 써클마커가 표시된 지도를 html 파일로 저장한다.
import folium
map_temp = folium.Map(location=[37.576096, 126.976843], zoom_start=19)
# 마커
folium.Marker(location=[37.576096, 126.976843],
popup='펄~럭~',
icon=folium.Icon(color='red')).add_to(map_temp)
# 써클마커
folium.CircleMarker(location=[37.576096, 126.976843],
popup='펄럭~펄럭~',
radius=100,
color='blue',
fill_color='ABEDFF').add_to(map_temp)
# 파일저장
map_temp.save('./map.html')