본문 바로가기

Python

(89)
[python pandas] matplotlib.pyplot으로 주식 차트에 buy sell 표시하기 주식 데이터를 pyplot을 통해서 시각화 하던중, buy와 sell을 한 날짜를 표시해주고 싶었다. 그럼 아래 코드를 통해서 buy (초록색), sell(빨간색)을 차트 상의 종가에 표시해줄 수 있다. 전제조건은 df 의 column 안에 buy와 sell이 표시되어 있어야 한다. 아래 예제에서는 buy 값이 1인 경우 매수, sell 값이 1인 경우 매도를 뜻한다. import matplotlib.pyplot as plt # 그림 사이즈 설정 plt.figure(figsize=( 30,6)) # 종가 기준으로 차트를 그림 df['close'].plot(grid=True) # buy가 1 인경우 초록색으로 해당 종가에 표시 plt.scatter(df.loc[df.buy == 1].index, df.cl..
python 판다스(pandas) - 중복 index 제거 하기 가끔 데이터를 외부 소스로 부터 받아오면 중복 인덱스 데이터가 포함된 경우가 있다. 예를들면 아래와 같다. open high low close 2021-10-05 20:00:00 822.0 830.0 820.0 828.0 2021-10-05 20:00:00 822.0 830.0 820.0 828.0 2021-10-05 20:30:00 830.0 831.0 819.0 819.0 2021-10-05 21:00:00 819.0 822.0 803.0 816.0 2021-10-05 21:30:00 815.0 839.0 812.0 818.0 2021-10-05 21:30:00 815.0 839.0 812.0 818.0 2021-10-05 22:00:00 818.0 822.0 811.0 818.0 위는 주식 데이터를..
[python3] sys.stderr.write(f"ERROR: {exc}") 에러 해결법 pip install --upgrade pip 명령어를 쳤을때 아래와 같은 에러가 뜰 때가 있다. Collecting pip Downloading https://files.pythonhosted.org/packages/ca/31/b88ef447d595963c01060998cb329251648acf4a067721b0452c45527eb8/pip-21.2.4-py3-none-any.whl (1.6MB) 100% |████████████████████████████████| 1.6MB 805kB/s Installing collected packages: pip Found existing installation: pip 8.1.1 Uninstalling pip-8.1.1: Successfully uninstal..
[python] datetime 날짜와 시간 차이 구하기 파이썬으로 두 날짜 간의 차이를 알고 싶다면 어떻게 해야할까? 또는 시간 차이를 알려면? 시간 차이 구하는 법 from datetime import datetime # 현재 시간을 가져온다. now = datetime.now() print(now) # 비교할 과거 시점에 대한 정보 past = datetime.strptime("20210305", "%Y%m%d") print(past) # 단순히 빼주기만 하면 두 시간의 차이를 구할 수 있다. diff = now - past print(diff) 출력 2021-06-26 20:48:48.724421 2021-03-05 00:00:00 113 days, 20:48:48.724421 단순히 datetime 형식의 두 날짜를 - 해주면 된다. 여기서 일수 차이..
[python] 폴더 있는지 체크하고 없으면 만들기 (mkdir -p) 파이썬에서 특정 경로에 파일을 만드려고 하면 일단 해당 디렉터리 경로가 있는지 부터 체크를 한 후에 파일 조작을 해야 한다. 리눅스 명령어로는 mkdir -p 를 쓰면 디렉터리 패쓰 확인 및 생성이 동시에 가능하다. 그렇다면 파이썬에서는 어떻게 할 수 있을까? 파이썬의 Path 모듈을 통해서 이를 처리할 수 있다. 참고로 파이썬 3.2 버전 이상에서만 지원한다. from pathlib import Path >>> Path('test/sub').mkdir(parents=True, exist_ok=True) 위 명령어를 통해서 현재 파이썬 실행 경로에서 test/sub파는 패쓰가 있는지를 검사하고 없으면 생성할 수 있다. 각각의 옵션의 의미는 아래와 같다 parents: True인 경우 상위 path가 없는..