-
[Pandas] 데이터 정리 (1) read_csv(na_values) & applyPython/텔레그램봇:채권모니터링 2020. 12. 15. 11:37
데이터를 csv 형태로 확보했으니, 이제 입맛대로 정렬해서 원하는 데이터만 골라낼 차례다.
python의 pandas 라이브러리를 사용할 예정이고, 우선 데이터를 불러와서 NULL값을 처리하고 날짜 포맷을 변경한다.
일단 설치를 하고
# python -m pip install --upgrade pip # pip install pandas
데이터는 이렇게 생겼다.
가격, 수익률, 거래량, 거래대금은 '-'로 표시된 NULL 데이터가 있다.
종목명,가격,수익률,거래량,거래대금,매도최우선호가 가격,매도최우선호가 수익률,매수최우선호가 가격,매수최우선호가 수익률,신용등급,잔존기간,표준코드 HMM199CB,"10,856.0","0.000","42,122,597","44,815,973,553","10,840.0","0.000","10,825.0","0.000",BB,05.00.00,KR6011201AC7
csv 형태라서 read_csv로 넣으면 된다. 숫자에 쉼표가 있으니 thousands 구분자를 추가했고,
'-'값을 처리하기 위해 na_values='-'을 지정했다.
잔존기간은 일자로 환산했고, 영구채는 잔존기간 79년 이상으로 표시되어서 따로 처리하지 않았다.
import pandas as pd def year2date(n): // 잔존기간 환산용 함수 y, m, d = 0, 0, 0 try: y, m, d = list(map(int, n.split("."))) except: pass return y*365 + m*30 + d csv = pd.read_csv('./text.csv', na_values='-', thousands=r',') csv['Y2D'] = csv['잔존기간'].apply(year2date)
이제 데이터를 필터링해서 쓰면 된다.
'Python > 텔레그램봇:채권모니터링' 카테고리의 다른 글
[python f'{formating}'] 봇 메시지 포맷팅 (0) 2020.12.16 [Pandas] 데이터 정리 (2) 필터링(query) 및 정렬 (0) 2020.12.15 [ECOS API] 한국은행 경제통계 API 이용 (2) json (0) 2020.12.14 [ECOS API] 한국은행 경제통계 API 이용 (1) xml (0) 2020.12.10 [데이터수집] 한국거래소 정보 가져오기 (0) 2020.12.02