Python Basics for Data Science - PART 5
Python Basics for Data Science - PART 5¶
( 파이낸스 데이터 사이언스를 위한 파이썬 언어 기초 )
날짜와 시간, 통계, 파일 입출력¶
2017 FinanceData http://fb.com/financedata¶
날짜와 시간¶
현재 시간을 얻거나, 문자열을 datetime값으로, datetime값을 문자열로 바꾸기
In [6]:
# 도움말
datetime.strptime?
In [15]:
# 현재 시간
from datetime import datetime
now = datetime.now()
print (now)
In [16]:
# 현재 시간과 날짜 포맷팅
from datetime import datetime
now = datetime.now()
print (now)
print (now.year, now.month, now.day, now.hour, now.minute)
print ("%d-%02d-%02d" % (now.year, now.month, now.day))
print ("{:d}-{:02d}-{:02d}".format(now.year, now.month, now.day))
In [18]:
# 문자열을 시간으로 strptime()
s = "2017년 3월 10일 11:00"
dt = datetime.strptime(s, "%Y년 %m월 %d일 %H:%M")
print(dt)
# 시간을 문자열로 strftime()
print( now.strftime("%Y-%m-%d") )
print( now.strftime("%Y-%m-%d %H:%M:%S") )
통계 (Statistics)¶
리스트 데이터의 개수, 합계, 최대, 최소
https://docs.python.org/3/library/functions.html 기본 내장 함수(Built-in Function)들
In [19]:
# 요약 통계량
data = [0.13, -0.05, 0.15, 0.11, 0.15, -0.07, 0.25, 0.28, -0.14, -0.08 ]
print( 'count = ', len(data) )
print( 'sum = ', sum(data) )
print( 'max = ', max(data) )
print( 'min = ', min(data) )
In [20]:
data = [0.13, -0.05, 0.15, 0.11, 0.15, -0.07, 0.25, 0.28, -0.14, -0.08 ]
avg = sum(data) / len(data)
print( "평균 수익률 = {:.1f}".format(avg * 100) )
In [21]:
# 분산과 표준편차
data = [0.13, -0.05, 0.15, 0.11, 0.15, -0.07, 0.25, 0.28, -0.14, -0.08 ]
def ret_variance(data):
avg = sum(data) / len(data)
var_sum = 0
for val in data:
var_sum += (val - avg) ** 2
return var_sum / len(data)
def red_std_dev(variance):
return variance ** 0.5
# 분산(variance)은 편차 제곱의 평균
var = ret_variance(data)
print ("분산(variance) = {:.2f}".format(var))
# 표준편차(SD, standard deviation): 분산(variance)의 제곱근
sd = red_std_dev(var)
print ("표준편차(standard deviation) = {:.2f}".format(sd))
파일 입출력¶
In [23]:
# 쓰기
my_list = [i**2 for i in range(1,11)]
fn = "output.txt"
with open(fn, "w") as f:
f.write(str(my_list))
In [24]:
# 읽기
fn = "output.txt"
with open(fn, "r") as f:
contents = f.read()
print(contents)
댓글
Comments powered by Disqus