1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
import pandas as pd
import numpy as np
# bitstamp: 비트코인 가격 가져오기
bitstamp = pd.read_csv('/content/drive/My Drive/BIGCOIN/PREPORCOESSING/bitcoin-historical-data/bitstampUSD_1-min_data_2012-01-01_to_2019-08-12.csv')
# 비트코인 감성분석을 위한 traindata 가져오기
train = pd.read_csv("/content/drive/My Drive/BIGCOIN/PREPORCOESSING/트레인데이터/train_datachanged.csv")
# date time과 unix time이 다르기 때문에 date time을 unix time으로 변환 하기 위한 datetounix 함수 정의
import time
#문자열로된 date 값을 datetime object로 변경
def datetounix(strdate):
#date_string = train['date'][1]
datetimeobj= datetime.strptime(strdate,'%Y-%m-%d %H:%M:%S')
timestamp = time.mktime(datetimeobj.timetuple())
return timestamp
# 변환을 위한 na 제거, 중복값제거 및 재정렬
bitstamp_dist=bitstamp_na.drop_duplicates()
bitstamp_dist= bitstamp_dist.reset_index(drop=True)
# 변환된 unixtime을 stamp에 추가
stamp =[]
for i in range(len(train_dist[['date']])):
timestamp=datetounix(str(train_dist['date'][i]))
# stamp를 train_dist에 열을 추가
train_dist["timestamp"] = stamp
train_clean =train_dist[["date", "timestamp", "tweet", "sentiment", "sent_score"]]
#저장
train_clean.to_csv("train_clean.csv")
#문제점
train데이터의 timestamp에서의 가격지표(+,-, 실제 변화량, 거래량)을 가져와야 하는데 timestamp가 초단위로 되어 있어서 맞아 떨어지는 것이 많이 없다.
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
|
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none;color:white">cs |
초기 가격 데이터는 불규칙하고 드문드문 있다.
가장 최근 데이터는 1분 마다 되어 있으니, timestamp도 초단위가 아닌 분단위로 변환 시켜 주어야 할 것 같다.
timestamp를 분단위로 끊어주기 위해서 바꿔주고 확인하였다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
import pandas as pd
import numpy as np
# csv파일 dataFrame으로 불러오기
train_clean = pd.read_csv("/content/drive/My Drive/BIGCOIN/PREPORCOESSING/트레인데이터/train_clean.csv")
# timestamp 값을 분단위로 끊어줌
for i in range(len(train_clean[["timestamp"]])):
train_clean["timestamp"][i]= int(train_clean["timestamp"][i]) - int(train_clean["timestamp"][i])%60
print(i)
# 값이 실제로 맞는지 확인
print(train_clean["timestamp"][29])
print(train_clean["timestamp"][70])
# 저장
train_clean.to_csv("train_clean_timestampchagned")
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
|
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none;color:white">cs |
'2019년 혁신성장 청년인재 집중양성(빅데이터) > 집중양성과정 프로젝트 01' 카테고리의 다른 글
랜덤포레스트로 학습을 시켜봤지만, 잘못 가르쳐서 미안하다. (0) | 2019.09.09 |
---|---|
[비트코인 감성분석 프로젝트] 트레인 데이터 전처리 (2) (0) | 2019.09.06 |
[20190903] 기계학습을 위한 사전 전처리 (0) | 2019.09.03 |
20190902 기계학습을 위해서 전처리를 하려고 했지만 헛수고 ssul. (0) | 2019.09.03 |
[비트코인 감성분석] 감성 분석을 해부 해보자_논문 (0) | 2019.08.30 |