The Relationship between news and stocks 10

2022. 7. 26. 21:14Project/뉴스기사로 인한 주가 등락 예측

728x90
반응형

코드

데이터 전처리 - 7월 15일 이전 데이터만 불러오기

import pandas as pd
import pymysql

conn = pymysql.connect(
                        user    = 'stocks',
                        passwd  = 'Stocks!',
                        host    = "-",
                        port    = 3306,
                        db      = 'Data',
                        charset = 'utf8'
        )

cur = conn.cursor()

cur.execute('''
SELECT DISTINCT stock_id, text, date FROM Stock_News_2
Where date < '2022-07-16 00:00:00'
''')
news = cur.fetchall()
news = pd.DataFrame(news, columns=['stock_id', 'text', 'date'])

데이터 전처리 - 불필요단어 삭제

  • 괄호 ( (), [], <> ) 안에 들어가 있는 내용들 삭제
  • 숫자, 영어 소대문자, 한글 제외 모두 삭제
  • 사진, ~~뉴스 단어 다 삭제
  • \n -> 공백 으로 전환
  • 공백 두개 이상을 하나의 공백으로 전환
import re

def clean_text(d):
  text = re.sub(r'\([^)]*\)', '', d)
  text = re.sub(r'\[[^]]*\]', '', text)
  text = re.sub(r'\<[^>]*\>', '', text)
  pattern = r'[^가-힣0-9a-zA-Z\s]'
  text = re.sub(pattern, ' ', text)
  text = re.sub(r'사진', ' ', text)
  text = re.sub(r'.*뉴스', ' ', text)
  text = re.sub("\n", ' ', text)
  text = re.sub("  +", " ", text)
  return text
 
 
news['text'] = news.text.apply(clean_text)
news.loc[(news["text"] == '') | (news["text"] == ' '), 'text'] = None
news = news.dropna(axis=0)

728x90
반응형