[Python] inspect 모듈의 getsource() 함수
·
Programming/Python
우리가 쓰는 패키지는 대부분 소스코드와 함께 제공이 되고 있다. 또한 공식적인 패키지가 아니라면, 함수에 자세한 설명이 적혀있지 않은 경우도 많다. 이러한 경우, 함수의 소스코드를 직접 확인하고 참조해야 하는 경우가 있는데, 이럴 때 inspect의 get source를 사요하면 좋다. 1. inspect 설치 inspect 설치는 간단하다. pip install로 설치한다. pip install inspect 2. inspect의 기능 inspect는 모듈, 클래스, 함수에 대한 소스코드를 출력해준다. 다양한 기능이 있다고 하지만, getsource()함수 하나도 참 유용하다. getsource() 안에 클래스 이름을 써주면, 해당 클래스의 소스코드가 출력된다. from inspect import ge..
[GCP] Computing Engine에 Python 분석 환경 구성하기(1)
·
AI Study/etc
저번 글에서는 Google Cloud Platform에 대한 설명과, Computing Engine 인스턴스를 생성하는 것에 대해서 포스팅했다. ▼ 이전 글 보러가기 [GCP]Google cloud platform 가입하기 저번 포스팅에서 구글 클라우드 플랫폼에 대한 간략한 소개를 했었다. [GCP] google cloud platform에 대하여 최근에 구글클라우드플랫폼(google cloud platform)을 사용할 일이 있어 찾아보게 되었고, 대체 everywhere-data.tistory.com [GCP] Google Cloud Platform Compute Engine VM 생성하기 오늘은 GCP에서 Compute Engine을 이용해 가상 머신을 생성하는 작업을 알아보고자 한다. google..
[NLP/자연어처리] 단어의 표현(2) - 카운트 기반의 단어 표현
·
AI Study/NLP
해당 포스팅은 김기현의 자연어처리 딥러닝캠프 파이토치편 과 딥러닝을 이용한 자연어 처리 입문 과정을 참고하여 정리한 것입니다. 필요한 부분은 추가로 찾아보았습니다. 지난 시간에는 단어의 표현 중 OnehotEncoding과 Word2Vec에 대해서 정리했었다. 이번에는 카운트 기반의 단어표현에 대해서 정리해보고자 한다. 카운트 기반이 먼저 나오고, 딥러닝 기반인 Word2Vec이 나와야 하는데 정리하다보니 카운트 기반을 잊은 것 같아 적는다. 0. 단어의 표현 방법 단어의 표현 방법은 크게 국소 표현(Local Representation)과 분산 표현( Distributed Representation)으로 나뉜다. 국소 표현은 해당 단어 그 자체만 보고 특정 값을 매핑하여 단어를 표현하는 방법이고, 분산..
[Python] 주피터 노트북 테마 변경하기
·
Programming/Python
로컬 상에서 jupyter notebook을 자꾸 사용하려니 흰 바탕에 눈의 피로감이 커지는 것은 사실인 것 같다. 요즘은 모바일 폰도 다크모드가 가능한 마당에, 주피터 노트북도 테마를 변경해서 어두운 모드로 사용하고 싶었다. 그래서 찾아본 것이 jupyter notebook 테마 사용하기!! 주피터 노트북 파일을 전부 설치가 되어있다고 가정하고 포스팅을 적으려 한다. 1. 주피터 노트북 테마 패키지 설치하기 주피터 테마를 설정하려면 먼저 'jupyterthemes'를 설치해야 한다. 터미널로 들어가 아래와 같이 명령어를 입력하여 jupyterthemes를 설치한다. pip install jupyterthemes 그럼 해당 패키지가 설치되고 사용할 수 있는 테마의 목록을 확인 할 수 있다. 아래와 같이 ..
[Python] Data Frame apply 함수 병렬처리 하는 방법
·
Programming/Python
파이썬에서 apply함수를 사용할 때 데이터의 용량이 크거나, 힘수가 복잡할 경우 수행시간이 매우 느리다는 단점이 있다. 그렇다면 여러개의 프로세스를 사용해서 처리하는 방법을 고려해야 한다. multiprocessing.cpu_count()를 통해 cpu 코어의 수를 가져와 함수를 생성 후 병렬처리를 할 수 있다. groupby를 사용하지 않고 단순 apply를 사용한다면 아래와 같은 함수를 만든 후 사용하면 된다. from multiprocessing import Pool import multiprocessing print('cpu counts:%d' % multiprocessing.cpu_count()) # cpu 최대 가용 수 확인 def parallelize_dataframe(df, func, n..
[Python] enumerate 함수
·
Programming/Python
for문과 함께 자주 사용하는 enumerate 함수, 종종 봤을 것이다. list, tuple, string 등에 대한 자료형을 입력받았을 때 그 객체는 index 값을 가지고 있다. enumerate 함수는 객체의 index값과 원소의 값을 tuple 형태로 함께 돌려주는 함수이다. 아래 예시를 확인해보자. a = ['korea', 'usa', 'japan'] b = list(enumerate(a)) c = dict(enumerate(a)) print(b) print(c) >>> [(0, 'korea'), (1, 'usa'), (2, 'japan')] {0: 'korea', 1: 'usa', 2: 'japan'} 위와 같이 enumerate() 를 사용할 경우 인덱스 값과 같이 출력됨을 알 수 있다...
[python]Series, Dataframe에서 날짜 연산하기
·
Programming/Python
저번 포스팅에서는 날짜 객체 자체를 연산하는 것에 대해 이야기 했었는데, 보통 우리가 사용하는 데이터는 DataFrame형태이기 때문에 날짜 특성의 column은 Series 연산을 해야한다. 그래서 오늘은 Series 형태의 날짜를 연산하는 몇가지 함수에 대해 이야기 하려 한다. 이전 날짜 연산 모듈 포스팅은 아래 참고 [python]날짜 연산하기, 월말일자 구하기 별로 안쓸 줄 알았던 날짜 연산 코드가 프로젝트에 가면 심심찮게 많이 사용된다. 그리고 하나의 객체에 대한 날짜 연산 프로그램도 있지만, Series 날짜의 연산도 아주 많이 사용된다. 이번 포스 everywhere-data.tistory.com 우선 String이지만 date형태로 되어있는 Series 객체를 하나 생성한다. >>> imp..
[python]날짜 연산하기, 월말일자 구하기
·
Programming/Python
별로 안쓸 줄 알았던 날짜 연산 코드가 프로젝트에 가면 심심찮게 많이 사용된다. 그리고 하나의 객체에 대한 날짜 연산 프로그램도 있지만, Series 날짜의 연산도 아주 많이 사용된다. 이번 포스팅에서는 우선 하나의 객체에 대한 날짜 연산 모듈에 대해 알아본다. 그리고 자주 사용하는 월말일자 구하는 모듈도 알아본다. 1. datetime class datetime 모듈은 가장 많이 사용하는 날짜 연산 모듈이다. datetime 모듈 안에는 datetime 이라는 같은 클래스가 또 존재한다. 같은 이름의 모듈과 패키지로 헷갈릴 수 있는데, 코드를 최소한으로 줄이기 위해서, 그리고 메모리위에 클래스를 적게 불러오기 위해 datetime class 단위로 불러오도록 한다. 1.1. datetime 모듈로 현재..