반응형

파이썬 35

[데이터 분석] Python 라이브러리 - Pandas, Matplotlib, Numpy 10분만에 배우기

Python에서 데이터 분석을 위한 라이브러리 Pandas, Matplotlib, Numpy를 10분만에 익히는 방법 python에서 데이터 분석을 하기 위해서는 주로 사용하는 라이브러리가 있습니다. pandas, matplotlib, numpy입니다. 패키지들을 이용하는 이유는 데이터 분석을 용이하게 할 수 있도록, matrix연산과 시각화를 지원합니다. pandas는 DataFrame, Series의 데이터 객체를 이용해서 데이터를 쉽게 가공을 할 수 있습니다. 더나아가 평균, 분산, 최대, 최소 등을 쉽게 연산할 수 있습니다. 그 외에도 데이터 변수 사이에 연관성, 그룹, 선택, 조인 등의 다양한 함수를 통해 matrix를 효율적으로 쉽게 가공 할 수 있습니다. matplotlib은 데이터의 분포 ..

데이터분석 2016.07.07

[Python] Enum 사용하는 방법 및 예제코드

들어가며 파이썬에서는 다른언어와는 다르게 기본적으로 Enum을 제공하지 않습니다. 하지만 역시 파이썬은 모듈이 많은게 장점이기 때문에 enum모듈을 설치하고 사용이 가능합니다. 설치하는 방법과 예제 코드에 대해서 설명해드리겠습니다. 설치하기 sudo pip install enum 예제코드 # Color Enum 정의하기 class Color(Enum): RED = 1 GREEN = 2 BLUE = 3 # 사용하기 Color.RED # 1 Color.GREEN # 2 Color.BLUE # 3

Programming/Python 2016.05.31

[Python] json 모듈 사용하기 :: String을 Dict으로 변환

들어가며 HTTP 통신을 하면서 data를 주고 받을 경우에 json형태로 데이터를 주고 받을 때가 많습니다. 또한 python에서는 dict의 type을 자주 사용하기 때문에 String을 dict으로 변환할 줄 알아야 하는데요. 아래 예제 코드는 json, dict 형태의 string을 json모듈을 이용해 dict의 type으로 변환해주는 코드입니다. python을 다룰때 가장 많이 사용하는 object중 하나가 dict이기 때문에 dict, json, string간의 변환이 자유로우면 상당한 무기가 될 수 있습니다. 예제코드 import json dict_string = '{"foo":"bar", "foo2":"bar2"}' # type(dict_string) # dict = json.loads(..

Programming/Python 2016.05.25

[Python] Python Singleton Pattern

들어가며 Design Pattern 중 필요에 의해 자주 사용하는 singleton pattern에 대해서 알아보려고 합니다. Python에서는 Singleton Pattern을 구현하는 방법이 4가지가 있습니다. get_instance와 __init__을 제공하는 방법, main, inner class를 구현하는 방법, decorator를 이용하는 방법(decorator도 하나의 디자인 패턴을 말하는데, 기능 확장이 필요할 때 서브 클래싱 대신에 사용을 합니다.), 마지막으로 가장 많이 사용하는 metaclass를 이용하는 방법입니다. 아무래도 구현하는 방법이 4가지가 있다는 얘기를 해석하면, 한 클래스에서 하나의 객체를 생성하도록 제한을 할 수 있는 방법이 4가지가 있다고 생각하시면 됩니다. 1 .g..

Programming/Python 2016.05.23

[Python] Type Class와 Meta Class

Python Type Class, Meta Class 파이썬은 동적 바인딩 프로그래밍 언어입니다. 여기서 동적바인딩이란 프로그램 실행 중에 자료형과 함수의 타입이 결정되는 것을 말합니다. 즉 코딩을 할때 값이 어느 변수의 타입인지 할당이 되지 않고, 프로그램을 우리가 실제로 동작을 하는 동시에 자료형과 함수의 타입이 그때 그때마다 결정이 됩니다. 파이썬에서 하나의 장점이자 단점이 변수를 생성할때 type을 지정하지 않는것도 파이썬이 동적 바인딩 프로그래밍 언어라는 사실을 알 수 있습니다. 하지만 동적바인딩의 가장 단점은 타입이 정해져 있지 않기 때문에 정적 바인딩(사전에 자료형과 함수의 타입이 정해져있는)에 비해 실행 속도가 느립니다. 이번 글에서는 type class와 meta class에 대해서 설명..

Programming/Python 2016.05.23

[Python] 차트 그리기 :: Pandas, Matplotlib, Numpy

들어가며 데이터 분석을 하다보면, 시각화(Visualization)을 해야한다. 우리가 물론 값을 눈으로 확인하면 되지만, 전체적인 추이를 확인하거나, 일정 패턴이 있는지 확인하기 위해서는 그래프만큼 좋은게 없다. 파이썬은 데이터 분석을 하기 위해한 모듈이 갖춰져 있어 많은 사람들이 사용한다. R이나 Matlab을 사용하는 사람도 많지만, 뭐 셋다 거의 비슷비슷하다. 내 주위 사람은 matlab을 사용하다가 파이썬으로 넘어오기도 한다. 그 이유는 약간 파이썬이 구현적인 느낌을 받는다나... 사실 왜 넘어온지는 모르겠지만 일단! 파이썬에서는 Pandas, Matplotlib, Scipy, Numpy를 이용하고, 거기에 machine-learning을 하기 위한 scikit-learn만 잘쓰면 어디서 데이터..

Programming/Python 2016.05.20

[Python] datetime 날짜, 시간, 분 더하기, 빼기 (현재, 이전, 이후 시간 가져오기)

들어가며 로깅을 할때나, 어떤 특정 시간에 Event를 발생하고 싶을 경우에는 현재 시간 및 그 이전, 이후 시간을 가져올 수 있어야 합니다. 특히 로깅을 할때는 현재시간을 가져오는건 필수 중에 필수라고 할 수 있습니다. 또한 현재 시간으로 부터 1시간 뒤에 파일에 저장해 라는 명령을 할때는 특정 시간을 입력하거나, 현재시간으로 부터 1시간을 지정해 주면 됩니다 물론 timestamp에서 1000(1초) * 60 * 60 * 1 과 같이 연산을 통해서도 가능하지만, java의 Calendar와 같은 역할을 하는 datetime을 이용하면 쉽게 할 수 있습니다. datetime은 기본 모듈이고 바로 사용이 가능합니다. datetime.timedelta()를 이용하면 시간에서 일정 시간을 빼고 더할 수 있습..

Programming/Python 2016.05.20

[Python] Python Logging 파이썬 로깅 모듈

들어가며 파이썬 표준 라이브러리인 logging은 아주 강력한놈입니다. 이제 다시는... print문과 file.write를 이용해서 로그를 남기지 마세요. 우리 스마트하게 로그를 남깁시다. logging은 다양한 기능을 제공하고 있습니다. 스트림과 파일에 동시에 로그를 남기거나, 로그 레벨에 따라 출력되는 로그를 제한 할 수 있습니다. 또한 로그는 축적되는 양이 많기 때문에 예외를 처리해야 하는 내용이 많습니다. 그 중에 파일 크기가 일정 크기를 넘어가면 새로운 로그 파일을 자동으로 생성하는 기능 또한 제공합니다. 아래 래퍼런스를 통해 더 자세한 내용을 확인 하실 수 있습니다. Singleton Pattern으로 CustomLogger를 작성하여 사용한 사례를 포스팅한 내용이 있습니다. 어떤식으로 로깅..

Programming/Python 2016.05.20

[Python] 파이썬 파일 옮기기 - File Move구현하기

파이썬 파일 옮기기 - File Move구현하기 들어가며 파이썬에서 파일을 옮길때 사용하는 코드를 설명할 생각입니다. 다른 블로그에서 os.rename을 통해 파일을 옮기려고 했는데, 옮겨지지가 않더라구요. 그래서 찾은 다른 방법입니다. shutil이라고 기본으로 내장이 되어있는 모듈을 사용해서 .move를 통해 파일을 이동하는 방법입니다. 예제코드 예제 코드는 "/home/banana/test.txt"의 파일을 "/home/banana/txt/test.txt"로 옮기는 코드입니다. src와 dir을 지정해주면 됩니다. 간단하네요. import shutil filename = 'test.txt' src = '/home/banana/' dir = '/home/banana/txt/' shutil.move(s..

Programming/Python 2016.05.19

[Python] 파이썬 Exception 처리하기

파이썬 예외처리(Exception 처리하기)예제코드 프로그래밍을 하면서 중요한 것 중에 하나가 바로 예외처리입니다. Exception의 종류는 코드 상에서 컴파일러가 처리해주는 Exception이 있고, 실행하는 과정에서 발생하는 Exception이 있습니다. 실행 과정에서 생기는 Exception은 처리하지 않을 경우에는 프로그램이 종료되는 엄청난 치명적인 결과를 직면할 수 있기 때문에, 예외처리를 꼭 해줘야 하는데요. 이번에는 python에서 예외처리하는 방법에 대해서 설명하려고 합니다. 저 같은 경우에는 예외처리를 다 잡아놓고 detail을 항상 출력을 해서 확인을 하고 있습니다. 중간에 종료되는게 너무 싫어서 프로그램은 한번 돌고, 만약 실행과정에서 발생하는 Exception이 발생하면 화면에 출..

Programming/Python 2016.05.19
반응형