python

    [Python] Sliding Window

    def sliding_window(series, window_size, step = 1): """series is a column of a dataframe""" for start_row in range(0, len(series) - window_size + 1, step): yield series[start_row:start_row + window_size] tmp = np.arange(100) list(sliding_window(tmp, 10, 5)) 위의 코드를 실행하면 0부터 99까지의 데이터를 10개씩 5개씩 이동하면서 데이터를 만들어낸다. 결과는 아래와 같다. [array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]), array([ 5, 6, 7, 8, 9, 10, 11, 12, ..

    [Python] Poetry - Jupyter

    [Python] Poetry - Jupyter

    Poetry는 파이썬 개발 시 의존성 관리와 패키징을 위한 툴이다. pip와 venv를 통해 프로젝트의 가상환경을 자동으로 생성하고 의존성을 관리해줌으로써 개발용이성을 향상시켜준다. 여러 개발자가 동일한 환경에서 개발할 수 있도록 지원을 한다. 따라서 개발자의 머신에서 Global로 설치된 의존성이 아닌 프로젝트에 필요한 버전의 의존성을 동일하게 유지해 준다. 아래 전체적인 흐름을 정리한 그림이다. 위의 흐름에 맞춰서 하나씩 정리해본다. 1. Poetry 설치 poetry를 사용하기 위해 설치가 필요하다. 나는 1.4.2 버전이 설치된 상태이다. $ pip install poetry $ poetry -V Poetry (version 1.4.2) 2. 프로젝트에 poetry 초기화 하기 $poetry in..

    [TroubleShooting] pyenv 문제 해결

    _bz2, _ctypes, readline, _ssl 등 ModuleNotFoundError pyenv 설치 이후 아래와 같은 문제가 발생하는 경우가 있다. 필요한 라이브러리들이 설치가 안된 경우다. 문제 Downloading Python-3.8.16.tar.xz... -> https://www.python.org/ftp/python/3.8.16/Python-3.8.16.tar.xz Installing Python-3.8.16... Traceback (most recent call last): File "", line 1, in File "/home/linuxias/.pyenv/versions/3.8.16/lib/python3.8/bz2.py", line 19, in from _bz2 import BZ2..

    abstract class에서 abstract property 생성하기

    python 3.3 버전 이전까지는 @abstractproperty 라는 annotation이 제공되었습니다. 하지만, python 3.3 버전 이상에서는 사용할 수 없습니다. 만약 사용하게 되면, 아래와 같은 경고 문구가 나타납니다. 'abc.abstractproperty' is deprecated since Python 3.3. Use 'property' with 'abc.abstractmethod' instead. less... (Ctrl+F1) Inspection info: This inspection highlights usages of Python functions, classes or methods which are marked as deprecated (which raise a Deprec..

    [Python] 문자열에 문자열 리스트의 요소가 포함되어 있는지 찾기

    많은 사람들이 문자열에 특정 문자열이 존재하는지, 또는 문자열 리스트에서 특정 문자열이 존재하는지를 많이 확인합니다. 이번에는 문자열에 문자열 리스트의 요소가 포함되어 있는지 찾는 방법에 대해 알아 보겠습니다. 아래와 같은 문자열 리스트 이 있다고 가정합시다. 그리고 해당 리스트의 요소가 특정 문자열 내에 포함되는지를 알고 싶습니다. 가장 단순하게 생각했을 때 아래와 같이 찾을 수 있을 것 같습니다. 123456file_format = [ 'son', 'seungha' ]file_name = 'My name is seungha' for format in file_format: if format in file_name: print(format)cs python의 any method를 사용하면 다른 방식으로..

    RSS feed parsing 하기

    feedparser를 이용하여 feed를 파싱할 수 있다. 만약 feedparser가 설치되어 있지 않다면 pip를 이용해 설치해 준다. RSS구조에 대해서는 아래 URL을 참고하자 2018/11/15 - [Developer's Delight/ETC] - RSS 에 대해서 간단한 소스코드이다. 파싱한 정보에는 RSS 구조에 맞춰 다양한 정보들이 있다. 필요한 정보를 사용하면 될 것 같다. 123456789101112131415import feedparser f = feedparser.parse('https://sonseungha.tistory.com/rss') # Print feed tagsfor tag in f: print(tag) # Print all feed tagsfor feed in f['fee..