금융데이터를 활용한 파이썬 기초 객체
text = "Financial Python coding is easy to learn by this class"
text.replace('Python', 'R-studio')
'Financial R-studio coding is easy to learn by this class'
text.split('is')
['Financial Python coding ', ' easy to learn by th', ' class']
text.find('is')
24
text.find('Java')
-1
from datetime import datetime
date = datetime.now().date()
date
datetime.date(2018, 5, 15)
str(date)
'2018-05-15'
text = "오늘의 날짜는 {} 로 수업의 내용은 {} 입니다. 당신의 오늘 점수는 {} 입니다"
text.format(date, '파이썬 기초', 80.12312312424)
'오늘의 날짜는 2018-05-15 로 수업의 내용은 파이썬 기초 입니다. 당신의 오늘 점수는 80.12312312424 입니다'
text = "오늘의 날짜는 {0} 로 수업의 내용은 {1} 입니다. 당신의 오늘 점수는 {1} 입니다"
text.format(date, '파이썬 기초', 80.12312312424)
'오늘의 날짜는 2018-05-15 로 수업의 내용은 파이썬 기초 입니다. 당신의 오늘 점수는 파이썬 기초 입니다'
text = "오늘의 날짜는 {} 로 수업의 내용은 {:.3} 입니다. 당신의 오늘 점수는 {:.5} 입니다"
text.format(date, '파이썬 기초', 1280.12312312424)
'오늘의 날짜는 2018-05-15 로 수업의 내용은 파이썬 입니다. 당신의 오늘 점수는 1280.1 입니다'
text = "오늘의 날짜는 {} 로 수업의 내용은 {:>10} 입니다. 당신의 오늘 점수는 {:.3f} 입니다"
text.format(date, '파이썬 기초', 1280.12312312424)
'오늘의 날짜는 2018-05-15 로 수업의 내용은 파이썬 기초 입니다. 당신의 오늘 점수는 1280.123 입니다'
text = "오늘의 날짜는 {} 로 수업의 내용은 {:<10} 입니다. 당신의 오늘 점수는 {:10.3f} 입니다"
text.format(date, '파이썬 기초', 1280.12312312424)
'오늘의 날짜는 2018-05-15 로 수업의 내용은 파이썬 기초 입니다. 당신의 오늘 점수는 1280.123 입니다'
text = """ 평창 올림칙이 열리는 강원도는 {} 시장님과 \t {} 운영위원장 님의
\n열화와 같은 지원 적분에 성공적으로 열리게 되었습니다"""
print(text)
평창 올림칙이 열리는 강원도는 {} 시장님과 {} 운영위원장 님의 열화와 같은 지원 적분에 성공적으로 열리게 되었습니다
print(text.format('위대하신 김용범', '영도자 김용범'))
평창 올림칙이 열리는 강원도는 위대하신 김용범 시장님과 영도자 김용범 운영위원장 님의 열화와 같은 지원 적분에 성공적으로 열리게 되었습니다
a = 10
if a > 5 :
print('5보다 크다')
5보다 크다
a = 10
if a > 5 :
print('5보다 크다')
print('next')
5보다 크다 next
a = 4
if a > 5 :
print('5보다 크다')
else :
print('5보다 크지않다')
5보다 크지않다
a = 5
if a > 5 :
print('5보다 크다')
elif a == 5 :
print('5')
else:
print('5보다 크지않다')
5
for i in range(10):
print(i)
0 1 2 3 4 5 6 7 8 9
for i in range(10):
if i % 2 == 0:
print(i)
0 2 4 6 8
for i in range(10):
if i % 2 == 0:
print('짝수',i)
elif i % 2 == 1:
print('홀수',i)
짝수 0 홀수 1 짝수 2 홀수 3 짝수 4 홀수 5 짝수 6 홀수 7 짝수 8 홀수 9
for i in range(10):
if i % 2 == 0:
print('짝수',i)
elif i % 2 == 1:
print('홀수',i)
else :
print('초기값', i)
짝수 0 홀수 1 짝수 2 홀수 3 짝수 4 홀수 5 짝수 6 홀수 7 짝수 8 홀수 9
company_list = ['삼성', 'LG', '대우', '한진', '하림']
text = '이번에 소개할 기업은 {} 입니다'
for comp in company_list:
print(text.format(comp))
이번에 소개할 기업은 삼성 입니다 이번에 소개할 기업은 LG 입니다 이번에 소개할 기업은 대우 입니다 이번에 소개할 기업은 한진 입니다 이번에 소개할 기업은 하림 입니다
result = []
for i in range(10):
result.append(i)
result
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
result = [i for i in range(10)]
result
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
result = [i for i in range(10) if i%2==1 ]
result
[1, 3, 5, 7, 9]
{ i : i for i in range(10) }
{0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9}
k = ['a', 'b', 'c', 'd']
v = [12, 32, 41, 55]
{ k[i] : v[i] for i in range(len(k)) }
{'a': 12, 'b': 32, 'c': 41, 'd': 55}
k = ['a', 'b', 'c', 'd']
v = [12, 32, 41, 55]
{ key : v[no] for no, key in enumerate(k) }
{'a': 12, 'b': 32, 'c': 41, 'd': 55}
def test_sum(a, b):
return a + b
test_sum(1, 2)
3
def test_sum( a:float, b:float ) -> float :
return a + b
test_sum(1, 2)
3
def add_plus1(number):
return number + 1
def add_with_transform(left, right, transform_func):
return transform_func(left) + transform_func(right)
add_with_transform(2, 3, add_plus1)
7
# lambda : 익명함수
lambda_plus = lambda x : x + 1
print(lambda_plus(7))
add_with_transform(1, 3, lambda_plus)
8
6
class Diva:
version = "corea"
def __init__(self, name = "Diva"):
self.name = name
def song(self, title = "song"):
print(self.name + " is sing the " + title)
def medley(self):
self.song()
self.song("second song")
singer = Diva()
singer.name
'Diva'
# 클래스 활용
singer = Diva("Carey")
singer.version
'corea'
singer.song()
singer.song("World is Beautiful")
Carey is sing the song Carey is sing the World is Beautiful
import pandas as pd
prices = pd.read_html("https://coinmarketcap.com/currencies/bitcoin/historical-data/?start=20180103&end=20180513")[0]
prices = prices[::-1]
prices.reset_index(inplace=True, drop=True)
%matplotlib inline
prices.Close.plot(figsize=(16,4), grid=True)
prices.head(3)
Date | Open | High | Low | Close | Volume | Market Cap | |
---|---|---|---|---|---|---|---|
0 | Jan 03, 2018 | 14978.2 | 15572.8 | 14844.5 | 15201.0 | 16871900000 | 251312000000 |
1 | Jan 04, 2018 | 15270.7 | 15739.7 | 14522.2 | 15599.2 | 21783200000 | 256250000000 |
2 | Jan 05, 2018 | 15477.2 | 17705.2 | 15202.8 | 17429.5 | 23840900000 | 259748000000 |
# 코스피 실시간 가격정보 수집하기
# http://finance.daum.net/quote/all.daum?nil_stock=refresh
import pandas as pd
url = "http://finance.daum.net/quote/all.daum?nil_stock=refresh"
toplist = pd.read_html(url)
result = [table for i, table in enumerate(toplist) if i >0]
df = pd.concat(result, axis=0).dropna()
df.columns = df.iloc[0,:]
df = df.drop(df.index[0])
df = pd.concat([df.iloc[:,3:], df.iloc[:,:3]])
df["현재가"] = df["현재가"].apply(lambda x : int(x))
df["등락률"] = df["등락률"].apply(lambda x : x.replace('%',''))
df["등락률"] = df["등락률"].apply(lambda x : x.replace('+',''))
df["등락률"] = df["등락률"].apply(lambda x : float(x))
df.head(3)
종목명 | 현재가 | 등락률 | |
---|---|---|---|
2 | HDC아이콘트롤스 | 15350 | 3.02 |
3 | 고려개발 | 8850 | 1.14 |
4 | 금호산업우 | 33750 | -6.12 |
def get_date_naver(code, page=1):
import pandas as pd
print("{} Page {} Day history data".format(page, page*10))
result = []
for i in range(1, page+1):
df = pd.read_html("http://finance.naver.com/item/sise_day.nhn?code=" + code + "&page=" + str(i))[0]
result.append(df.iloc[1:,:])
df = pd.concat(result)
df.columns = ["Date","Close","Change","Price","High","Low","Volume"]
df.Date = df["Date"].apply(lambda x : x.replace('.','-'))
df.Date = pd.DatetimeIndex(df['Date'])
for col in df.columns[1:]:
df[col] = df[col].apply(lambda x : int(x))
df = df[::-1]
return df.set_index('Date')
prices_history = get_date_naver('000660',10)
prices_history.tail(3)
10 Page 100 Day history data
Close | Change | Price | High | Low | Volume | |
---|---|---|---|---|---|---|
Date | ||||||
2018-05-11 | 86100 | 300 | 86600 | 86800 | 85400 | 2107047 |
2018-05-14 | 85400 | 700 | 86100 | 86300 | 84500 | 1959236 |
2018-05-15 | 84300 | 1100 | 86000 | 86000 | 84000 | 959064 |