본문 바로가기
IT - 코딩/유용한 코드

인베스트 데이터 전처리(with python)+예스 트레이더, 데이터 가이드포함

by 조기정 2022. 7. 22.
import pandas as pd
import numpy as np
save_path = "C:\\Users\\Happy\\Desktop\\논문용\\krwusdtdata\\전처리된파일\\"

먼저 저장할 폴더를 지정해줍니다.

이런식으로 다운로드 받은 인베스트.com 파일을 다운해줍니다. 기간이 길면 두번에 나누어 다운해야 하는 경우가 있습니다.

# 인베스트 컴 데이터 전처리 (인베스트에서 csv 파일 다운 후 아예 열지 않을 것을 권장!!)
KRW_USDT = pd.read_csv("USD_KRW 내역.csv") 
KRW_EUR = pd.read_csv("EUR_KRW 내역.csv")
KRW_CNY = pd.read_csv("CNY_KRW 내역.csv")
DXY = pd.read_csv("달러 지수 내역.csv")# 미국 달러 인덱스

KRW_USDT_2 = pd.read_csv("USD_KRW 내역 2.csv") 
KRW_EUR_2 = pd.read_csv("EUR_KRW 내역 2.csv")
KRW_CNY_2 = pd.read_csv("CNY_KRW 내역 2.csv")
DXY_2 = pd.read_csv("달러 지수 내역 2.csv")# 미국 달러 인덱스

KRW_USDT = pd.concat([KRW_USDT,KRW_USDT_2],axis = 0,ignore_index=True)#.reset_index(drop =True,inplace = False)
KRW_EUR = pd.concat([KRW_EUR,KRW_EUR_2],axis = 0,ignore_index=True)#.reset_index(drop =True,inplace = False)
KRW_CNY = pd.concat([KRW_CNY,KRW_CNY_2],axis = 0,ignore_index=True)#.reset_index(drop =True,inplace = False)
DXY = pd.concat([DXY,DXY_2],axis = 0, ignore_index=True)#.reset_index(drop =True,inplace = False)

그럼 이런식으로 concat까지만 해주시면 나머지는

def Pretreatment_by_invest(df): #인베스트에서 다운한 데이터 전처리
    df = df.rename(columns={'오픈':'Open','고가':'High',"저가":"Low","종가":"Close"})
    df = df[["날짜","Open","High","Low","Close"]]
    # 날짜 daytime형태로 변환
    df["날짜"] = [df["날짜"][i][0:4]+"-"+df["날짜"][i][6:8]+"-"+df["날짜"][i][10:12] for i in range(len(df["날짜"]))]
    df['날짜'] = pd.to_datetime(df['날짜'], format='%Y-%m-%d', errors='raise')
    
    columns = df[["Open","High","Low","Close"]].columns
    try:
        for i in range(len(columns)):
            df[columns[i]] = df[columns[i]].apply(lambda x : float(x.replace(',', ''))) ## @ lambda를 사용하여 한번에 모든 행 적용
    except:
        pass
    
    df = df.sort_values(['날짜'],ascending= True).drop_duplicates('날짜').reset_index(drop = True).rename(columns={'날짜':'time'})
    
    return df


KRW_USDT = Pretreatment_by_invest(KRW_USDT)
KRW_EUR = Pretreatment_by_invest(KRW_EUR)
KRW_CNY = Pretreatment_by_invest(KRW_CNY)
DXY = Pretreatment_by_invest(DXY)

이 함수 하나로 데이터가 전처리되게 해두었습니다. 

코드를 설명하자면 먼저, 컬럼명을 바꾸어주었고, 날짜 형식이 아닌 str형식의 데이터를 date time 형식의 변수로 바꾸어 주기위해 알맞게 데이터를 가공한후 date time 형식으로 바꾸었습니다.

그리고 시가 고가 저가 종가 데이터에 포함된 자릿수 표현 기호인 ","때문에 수치형으로 인식해주지 못하니 ,를 지우고 수치형 으로 만들어 데이터프레임을 반환합니다.

KRW_USDT.to_csv(save_path+"KRW_USDT.csv",index = False, encoding = "cp949")
KRW_EUR.to_csv(save_path+"KRW_EUR.csv",index = False, encoding = "cp949")
KRW_CNY.to_csv(save_path+"KRW_CNY.csv",index = False, encoding = "cp949")
DXY.to_csv(save_path+"DXY.csv",index = False, encoding = "cp949")
KRW_EUR,KRW_EUR.info()

그 다음 저장을 원하는 폴더 위치에 csv파일로 저장합니다.

 

 

yes trader 데이터 전처리(with python)+인베스트 , 데이터 가이드 포함

import pandas as pd import numpy as np save_path = "C:\\Users\\Happy\\Desktop\\논문용\\krwusdtdata\\전처리된파일\\" 먼저 저장할 경로를 지정합니다. yes trader 에서 데이터를 다운 받으실 경우엔 데이터..

wzxcv123.tistory.com

 

 

데이터 가이드 데이터 전처리(with python)+인베스트 , yes trader포함

import pandas as pd import numpy as np save_path = "C:\\Users\\Happy\\Desktop\\논문용\\krwusdtdata\\전처리된파일\\" 저장할 파일 위치를 설정해줍니다. 데이터 가이드 데이터들을 이런식으로 시고저종 순..

wzxcv123.tistory.com