블로그 이미지
잡다한 취미 생활 및 일상에 대한 소소한 이야기를 적어나가는 블로그입니다.
붉은kkk

공지사항

최근에 올라온 글

최근에 달린 댓글

글 보관함

calendar

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

프로그래밍을 처음 시작해서 공부하다 보면 어떤 테크트리(?)로 공부를 해야될지 막막할 때가 있을 것 같습니다.

그럴땐 백준 알고리즘 사이트에서 도움을 받아보면 어떨까요?

https://www.acmicpc.net/

 

Baekjoon Online Judge

Baekjoon Online Judge 프로그래밍 문제를 풀고 온라인으로 채점받을 수 있는 곳입니다.

www.acmicpc.net

저도 아직 활용해보진 않았지만, 프로그래밍 실력을 높이는데 유용할 것 같은 사이트입니다.

 

저도 프로그래밍을 취미로 하고는 있지만, 하다보니 점차 실력을 높이고 싶은 욕구가 생기기도 하고 있는데

알고리즘은 어떻게 공부하지? 란 생각에 검색하다가 알게된 사이트에요.

 

아래 캡쳐된 사이트 메인을 보면 문제부터~ 강의까지 메뉴가 구성되어 있습니다.

 

실제 사용을 해보지 않고서는 얘기드릴 수 있는 부분은 한정될 수 밖에 없기에 오늘의 포스팅은 여기서 마무리 하도록 하겠습니다.

 

 

*주피터 노트북이란?

Jupyter Notebook은 라이브 코드, 방정식, 시각화 및 설명 텍스트가 포함 된 문서를 작성하고 공유 할 수있는 오픈 소스 웹 응용 프로그램입니다. 데이터 정리 및 변환, 수치 시뮬레이션, 통계 모델링, 데이터 시각화, 기계 학습 등의 용도로 사용됩니다.

 

 

사용을 위해 주피터 노트북을 설치할 수 있는 방법을 찾아봅시다.

우선 사이트 접속을 해보세요.

jupyter.org

주피터 노트북 사이트
사이트내 사용법 설명

 

어... 이것도 pip으로 설치해서 쓰면 되는 거였네요.

 

pip install jupyter로 설치해줍니다.

설치가 완료되면 cmd창에서 jupyter notebook을 입력하여 실행해 주세요.

 

주피터 노트북이 실행된 화면입니다.
우측 상단의 New file - Python3을 선택한 화면입니다.
기본적인 연산자를 사용하여 주피터 노트북에서 실행시킨 화면입니다.

 

주피터 노트북을 설치하고 실행 후 기본 연산자를 사용한 파이썬 코딩도 완료해보았습니다.

 

사용된 기본 연산자는 아래와 같습니다.

덧셈 (+), 뺄셈 (-), 곱셈 (*), 제곱 (**),  나눗셈 (/), 나머지 (%)

 

기본 제공되는 IDLE 편집기로 코딩하는 것보다 보다 직관적인 모습입니다. 

(한줄 한줄 실행도 가능하며, 입력된 코드와 결과가 바로 보이고 있습니다.)

 

이로써 주피터 노트북 설치도 완료 되었네요. 

오늘도 즐거운 파이썬 생활 되세요^^

[24. 웹자동화] selenium 설치

2019. 9. 26. 22:33 | Posted by 붉은kkk

웹자동화는 파이썬을 이용하여 웹에서의 동작을 원하는 형태로 자동화 시킬 수 있는 것을 의미합니다.

웹자동화에 필요한 라이브러리는 selenium으로 아래와 같이 설치해 줍니다.

>>>pip install selenium

 

이미 설치가 되어 있어서 다운로드 과정은 나오지 않았습니다.

 

selenium을 설치한 다음에는 자동화를 위한 브라우저 및 브라우저 driver가 필요합니다.

저는 크롬을 사용하고 있기 때문에 크롬으로 설명을 드리겠습니다. 

 

크롬 드라이버 설치전 설치된 크롬의 버전을 확인해 줍니다.

 

버전 77.0 이네요.

마지막으로 크롬 드라이버 설치를 진행해 줍니다.

버전에 맞는 드라이버를 선택한 후 다운로드 하시면 됩니다.

 

이제, 웹 자동화를 위한 기본적인 라이브러리 및 웹드라이버 설치가 끝이 났습니다.

 

 

selenium을 통한 웹자동화 실제 사용은 다음 포스팅에 설명하도록 하겠습니다.

오늘은 네이버 사이트의 날씨 정보에서 미세먼지 정보를 가져오는 코드를 살펴 보도록 하겠습니다.

상당히 간단한 코드로 미세먼지 정보를 가져올 수 있어요.

 

출근 시간이 다가와서... 사진으로 대체 합니다.

1. 크롬으로 웹사이트에서 검색 후 F12 버튼을 누르면 웹사이트 분석 도구창이 뜸

    --> 원하는 정보를 검색한 뒤 HTML구조 분석이 필요

2. 미세먼지 정보의 구조를 파악 했으면, 파이썬을 통해 해당영역 정보를 가져와야됨

3. 가져온 정보를 텍스트 부분만 출력

 

원하는 부분의 값이 제대로 출력 된 걸 확인할 수 있습니다.

 

지난 포스팅에 이어 Pandas로 시작하는 데이터 분석#1-1입니다.

 

우선 한글 표현관련... 지금 포스팅을 작성하는 PC에서는 엑셀 파일을 로드한 후에는 

Matplotlib를 이용한 그래프를 출력시 한글이 깨지는 문제가 존재함을 확인하였습니다.

 

다른 PC에서는 한글 표현이 제대로 되는 것을 확인하였기 때문에 한글이 깨지는 

정확한 이유는 알 수가 없어서 설명을 못드리겠습니다.

 

이번 포스팅에서는 한글 폰트 사용에 대한 설정 방법을 알려드리도록 하겠습니다. 

 


#한글 폰트 사용
from matplotlib import font_manager,rc
import matplotlib
import matplotlib.pyplot as plt
 
#폰트 경로
font_path = "C:/Windows/Fonts/자신의한글폰트.ttf"
 
#폰트 이름 얻어오기
font_name = font_manager.FontProperties(fname=font_path).get_name()
 
#font 설정

matplotlib.rc('font',family=font_name)
 
#작업

plt.plot([1,2,3,4])

plt.xlabel("시간")

plt.ylabel("거리")

plt.show()


 

파일 로드 없이 그래프 출력시에는 정상적으로 한글이 표시가 됩니다.

 

Pandas는 데이터 분석용 오픈 소스 라이브러리입니다.
Python Data Analysis Library
https://pandas.pydata.org/

 

Python Data Analysis Library — pandas: Python Data Analysis Library

Python Data Analysis Library pandas is an open source, BSD-licensed library providing high-performance, easy-to-use data structures and data analysis tools for the Python programming language. pandas is a NumFOCUS sponsored project. This will help ensure t

pandas.pydata.org

이 글을 쓰는 시점엔 0.251 버전이 릴리즈 되어 있네요.

 

이번에 연습해보려고 하는 데이터 분석은 아래 2가지 형태입니다.

(기능적으로는 크게 3가지로 구분됩니다. - 파일 읽기, 필터링, Plot 그리기)

 

1. 엑셀 or CSV 파일 읽고 Plot 그리기                                 

2. 엑셀 or CSV 파일 읽고, 원하는 형태로 필터링 후 Plot 그리기

 

하나하나 차근히 코드를 작성해보겠습니다.

 

우선 엑셀 데이터를 준비해주세요.

전 간단하게 아래와 같은 테이블을 만들었습니다.

엑셀 파일 또는 csv파일로 저장해주세요. 전 test.csv파일로 저장했습니다.

 

1. 엑셀 or CSV 파일 읽고 Plot 그리기                                 

- Pandas 라이브러리를 pd로 쓰겠다고 import 한 다음, 미리 만들어둔 csv 파일을 읽는 코드입니다.

- *cp949 : 한국어판 마이크로 윈도우즈의 기본 코드 페이지, 한글 인코딩의 한 종류로 EUC-KR의 확장형이다.

              '통합 완성형' 이나 '확장 완성형' 이라고도 한다.

- *utf-8 : UTF-8 방식은 대표적인 조합형의 유니코드 인코딩 방식
-----------------------------------------------------------------------------------------------------------------------------------

import pandas as pd

 

data = pd.read_csv('data/test.csv', encoding='cp949')

print(data)

-----------------------------------------------------------------------------------------------------------------------------------

파일 읽기 완성

 

 

그래프는 잘 나왔는데... 한글이 깨졌네요.

한글이 제대로 나오게 하려면 아래와 같이 코드를 추가해 줍니다.

...??? 되어야 하는데. 안되네요. 오늘은 여기까지만 포스팅 하겠습니다.

 

안녕하세요.

 

지난 포스팅에 잘못된 정보가 전달된 것을 확인하고 정정 드립니다.

 

[12. 파이썬 에디트 도구] 파이참 사용하기

 

[12. 파이썬 에디트 도구] 파이참 사용하기

파이썬 에디트 도구로 파이참이 유명하다고 하네요. 다운로드는 아래 사이트에서 하시면 되요. http://www.jetbrains.com/pycharm/ 음... 전 여기까지만, 실제 사용은 하지 않을 예정입니다. 무료 제품이 아닌..

nearman.tistory.com

포스팅 내용 중 파이참은 무료가 아니라서 사용하지 않겠다라고 내용을 적었는데, free 버전이 있는 것을

재 확인하였습니다. 

 

파이참 다운로드는 아래 링크로.

https://www.jetbrains.com/pycharm/download/#section=windows

Community 버전은 free, open-source 입니다.

 

설치를 완료하고 hello project를 만든 상태입니다.

 

프로젝트를 open한 상태입니다.

 

실행을 클릭해서 실행결과가 나온 상태입니다.

 

저는 지금까지 파이썬 프로그래밍시 기본 제공되는 IDLE만 사용하였는데, 에디터를 활용해서 프로그래밍을 하는 것도 괜찮을 것 같네요.

 

아직은 많이 써본 상태가 아니라서. IDLE과 병행해서 쓰면서 장단점을 알려드리도록 하겠습니다.

안녕하세요.

 

프로그래밍 공부를 취미로 하다, 드디어 저도 책을 써보기로 마음 먹었습니다.

제가 생각하는 책을 쓴다는 의미는 한분야에 주제를 정하고 각 주제에 맞는 내용을 처음부터 끝가지 써내려가는 것이라 생각합니다. 

그리고 정보의 전달이 필요한 학습 보조 자료의 경우 잘못된 정보가 전달되지 않도록 철저한 검증이 필요하단 것도 알고 있습니다.

 

오랫동안 생각만 해왔던 부분인데, 드디어 도전을 하기로 결정했습니다. 

향 후 어떻게 될 지는 모르겠지만 차곡차곡 도전해 보도록 하겠습니다. 

 

집필서적은 "A Byte of Python" 의 내용을 기반으로 여러가지 예제 등을 추가할 예정입니다. 

예제들은 프로그래밍 파이썬 카테고리에 하나하나 포스팅 해 둘 예정입니다.

아래는 서문이며 완성본을 기대해주세요. 

 

 

 

서문

파이썬은 간단한 코드로도 강력하다고 할 수 있는 동작을 수행할 수 있는 프로그램 언어 중 하나입니다.

처음 프로그래밍을 접하는 초보 입장에서는 쉬운 코드로 작성된 프로그램이 수준이 낮을 것이라 생각할 수도

있겠지만 다른 언어에서는 동일한 역할을 하는 프로그램을 만들려면 엄청난 노력이 필요하단 걸 알게 될 것입니다.

그만큼 파이썬은 강력한 언어이며, 초보자와 숙련자에게 모두 유용한 언어입니다.

또한 쉬운 코드, 가독성이 높은 만큼 파이썬 프로그래밍은 다른 언어에 비해 복잡하지 않고 즐겁습니다.

이 책은 여러분이 파이썬이라는 보다 아름다운 프로그래밍 언어를 배울 수 있도록 도와주는 가이드 역할을

하도록 만들었으며, 일상의 반복적인 일을 컴퓨터를 통해 빠르고 쉽게 해결하는 방법을 알려드리는 것을 목적으로

작성되었습니다.