# https://docs.python.org/3.7/library/index.html
# repl.it
a_string = "like this"
a_number = 3
a_float = 3.12
a_boolean = False
a_none = None
# 1.1 Lists in Python
# List 는 [] 로 감싸며 ','로 분리한다.
days = ["Mon", "Tue", "Wed", "Thur", "Fri"]
print(days[3],',' , type(days))
#List 안에 내용이 있는지 확인
print("Mon" in days) # "Mon" 이 포함되어있으면 true, 그렇지 않으면 false
# list count 하기 len
print(len(days))
# Mutable, sequence 바꿀 수 있다.
# s.append() - List 에 추가하기
# s.reverse() : 순서 바꾸기
# 1.2 Tuples and Dicts : ()로 감싸면 된다.
days_tuple = ("Mon", "Tue", "Wed", "Thur", "Fri","Sat","Sun")
print(type(days_tuple))
# Dictionary 는 {} 를 이용한다.
nico = {
"name" : "Nico",
"age" : 29,
"korean": True,
"fav_food":["Kimchi","Bulgogi"]
}
print(nico["name"])
#1.3 Built in Functions
#1.4,1.5 Creating a your first python Function, Function Argument
def say_hello():
print("hello") #function 을 {} 을 필요로 하지 않다.
print("bye")
def say_bye(who="gildong"): #Argument를 하나 넣어줌, 인자 개수가 맞지 않으면 에러가 나옴
print("bye",who)
say_bye("nicolas")
say_bye() #default값으로 넣으려면 def에서 default값을 입력해준다.
# return
def r_plus(a,b):
return a + b #함수를 돌렸을때 발생하게 되는 값은 return이다. 그리고 function을 종료하게 된다.
# print 밑에 있는 내용은 시행되지 않는다., 하넌에 1개 return 가능
r_result = r_plus(2,3)
print(r_result)
#Keyworded argument - 순서를 기억할 필요 없다.
def my_function_1(name,food) :
return f"{name} loves {food} so much!!"
result_1 = my_function_1(food="meat",name= "Sungil") #이렇게 keyword로 지정할 수 있다.
print(result_1)
#1.10 If 문 #콜론을 잘 찍어야 한다.
# x or y
# x and y
# not x
# if & elif & else 모두 ":" 을 필요로 한다.eval
def plus (age="0",name="friend"):
if type(name) is int or type(name) is float :
return "error"
elif int(age) >= 18 :
return "adult"
else :
return "child"
result = plus (age= 18, name="Sungil")
print(result)
#1.12 for in
days = ("월요일","화요일","수요일","목요일","금요일","토요일")
#loop 를 멈추고 싶으면 'break' 를 넣을 수 있다.
for day in days : # day라는 변수는 for문이 가동될 때 만들어진다.
if day == "금요일" or day == "토요일" or day == "일요일":
print(f"today is {day}! Happy holiday!!")
else :
print(f"today is {day}! Work hard!!")
print(result)
#1.13 module을 가져오는 것이 import 이다. math.ceil <-
from math import ceil,fsum
import math as ma
#같은 폴더내에 있는 .py 파일의 이름을 from 으로 해서 가져올 수 있다
Positional argument(*args와 **kwargs)
# positional argument를 통해서 무한대로 입력할 수 있게 함
# 아래는 plus 계산식에 들어있는 숫자를 모두 더하게 하는 코딩
# keyword argument를 다루고 싶다면 **kwargs <- 별표 두개
def plus(*args) : #변수는 *args 처럼 앞에 *을 사용함, plus(**kwargs)처럼 작성
result = 0
for number in args:
result += number
print(result)
plus(1,2,3,4,5,6,7,8,9)
Class와 Method 그리고 그 확장에 대해서
# build_class - blue print 이다.
class Car():
wheels = 4 #각각은 property라 한다.
doors = 4
windows = 4
seats = 4
porche = Car()
porche.color = "red"
# method : class 안에 있는 function
# Python은 모든 method의 첫번째 instance를 첫번째 argumnet로 사용한다.
class Car():
wheels = 4 #각각은 property라 한다.
doors = 4
windows = 4
seats = 4
def descript (tomato): #보통은 self라고 써놓으면 된다.
print("Car Color:", tomato.color)
print("door Count:", tomato.doors)
print("Ok. I checked")
porche = Car()
porche.color = "Red"
porche.doors = 2
porche.descript() #argument를 porche로 가져온다. 그래서 method에는 self라고 기록해둔다.
# Method 다루기 2편
# class 는 기본적으로 함수를 가지고 있는 것이 있다.
class Car():
def __init__(self,**kwargs): #override 하는 것, 기본적으로 정의된 함수되 추가로 변경
#1 **는 꼭 2개!!, *args :는 tuple을 가져오고, **kwargs 는 dictionary 를 가져온다.
self.wheels = 4 #각각은 property라 한다.
self.doors = 4
self.windows = 4
self.seats = 4
self.color = kwargs.get("color","black")
#1 keyword argument에서, color에 해당하는 값을 가져온다. default값은 black이다.
self.price = kwargs.get("price","$20")
def __str__(self): #보통은 self라고 써놓으면 된다.
return f"{self.color} car with {self.wheels} wheels, {self.doors} doors and Price is {self.price}"
porche = Car(color ="Red", price ="$40")
porche.doors = 4
print("porche: ",porche)
# Class의 extend ====================
#: 복사할 필요없이 inherit을 가져오는 방법
class Convertible(Car): #convertible 클래스는 Car를 상속한다.
def take_off(self): #new function, 일반 Car에는 없다.
return "taking off..."
new_porche = Convertible(color ="blue", price ="$60")
new_porche.doors = 2
print("New_porche:", new_porche)
# method를 확장 시키는 방법 ====================
# : super() 를 이용하면 parent class를 가져올 수 있다.
class New_Convertible(Convertible): #convertible 클래스는 Car를 상속한다.
def __init__(self,**kwargs):
super().__init__(**kwargs)
self.open_time = kwargs.get("open_time",60)
def __str__(self):
return f"door open time is {self.open_time}"
def take_off(self): #new function, 일반 Car에는 없다.
return "taking off..."
maserati = New_Convertible(color ="green", price ="$80", open_time = 80)
maserati.doors = 2
print("Maserati :", maserati)
날짜, 시간 등 에 "0" 나오게 표시하기
#출력 찍는 시간이 나오게...
from datetime import datetime
now = datetime.now().strftime("%Y%m%d-%H%m") # '년도/월/일' 포맷으로 날짜를 문자열로 리턴, 대소문자 주의
data = data[index_order]
data.to_csv(f"./result/{now}_count_result.csv",index=False)
strftime 의 format 표현
입력 | 의미 | 예시 |
%a | Weekday as locale’s abbreviated name. |
Sun, Mon, …, Sat (en_US); So, Mo, …, Sa (de_DE) |
%A | Weekday as locale’s full name. |
Sunday, Monday, …, Saturday (en_US); Sonntag, Montag, …, Samstag (de_DE) |
%w | Weekday as a decimal number, where 0 is Sunday and 6 is Saturday. | 0, 1, …, 6 |
%d | Day of the month as a zero-padded decimal number. | 01, 02, …, 31 |
%b | Month as locale’s abbreviated name. |
Jan, Feb, …, Dec (en_US); Jan, Feb, …, Dez (de_DE) |
%B | Month as locale’s full name. |
January, February, …, December (en_US); Januar, Februar, …, Dezember (de_DE) |
%m | Month as a zero-padded decimal number. | 01, 02, …, 12 |
%y | Year without century as a zero-padded decimal number. | 00, 01, …, 99 |
%Y | Year with century as a decimal number. | 0001, 0002, …, 2013, 2014, …, 9998, 9999 |
%H | Hour (24-hour clock) as a zero-padded decimal number. | 00, 01, …, 23 |
%I | Hour (12-hour clock) as a zero-padded decimal number. | 01, 02, …, 12 |
%p | Locale’s equivalent of either AM or PM. |
AM, PM (en_US); am, pm (de_DE) |
%M | Minute as a zero-padded decimal number. | 00, 01, …, 59 |
%S | Second as a zero-padded decimal number. | 00, 01, …, 59 |
%f | Microsecond as a decimal number, zero-padded on the left. | 000000, 000001, …, 999999 |
%z | UTC offset in the form +HHMM or -HHMM (empty string if the object is naive). | (empty), +0000, -0400, +1030 |
%Z | Time zone name (empty string if the object is naive). | (empty), UTC, EST, CST |
%j | Day of the year as a zero-padded decimal number. | 001, 002, …, 366 |
%U | Week number of the year (Sunday as the first day of the week) as a zero padded decimal number. All days in a new year preceding the first Sunday are considered to be in week 0. | 00, 01, …, 53 |
%W | Week number of the year (Monday as the first day of the week) as a decimal number. All days in a new year preceding the first Monday are considered to be in week 0. | 00, 01, …, 53 |
%c | Locale’s appropriate date and time representation. |
Tue Aug 16 21:30:00 1988 (en_US); Di 16 Aug 21:30:00 1988 (de_DE) |
%x | Locale’s appropriate date representation. |
08/16/88 (None); 08/16/1988 (en_US); 16.08.1988 (de_DE) |
%X | Locale’s appropriate time representation. |
21:30:00 (en_US); 21:30:00 (de_DE) |
%% | A literal '%' character. | % |
numpy random seed 정하기 & deep learning 기초
numpy로 숫자를 임의로 만들때
# 코드를 실행할 때마다 결과가 달라지지 않게 하기위하여 seed를 고정합니다.
# seed는 임의로 37로 고정하겠습니다.
np.random.seed(37)
# h만큼 이동하는 횟수인 epoch을 10000으로 지정합니다.
num_epoch = 10000
# learning_rate를 1.1로 지정합니다. 가중치 이동폭을 조금 늘린 것입니다.
learning_rate = 1.1
# -1 ~ +1 사이의 값중 랜덤으로 w1을 지정(초기화)합니다.
w1 = np.random.uniform(low=-1.0, high=1.0)
# -1 ~ +1 사이의 값중 랜덤으로 w2을 지정(초기화)합니다.
w2 = np.random.uniform(low=-1.0, high=1.0)
# -1 ~ +1 사이의 값중 랜덤으로 b을 지정(초기화)합니다.
b = np.random.uniform(low=-1.0, high=1.0)
'세상 바라보는 시선 👁 > Growth Hacking' 카테고리의 다른 글
[Pretotype] 아이디어 불패의 법칙 (0) | 2020.09.03 |
---|---|
[데이터 사이언스] 딥러닝 - one hot encoding 을 하려면... @dsschool (0) | 2020.04.20 |
[Pandas] 시각화 - 한글화 시키기 (0) | 2020.04.09 |
[Python] Flask를 이용하여 서비스 운영 (0) | 2020.04.08 |
[Python] Web scrapper - indeed.com (노마드코더) (0) | 2020.04.07 |
[DS School] Level6 에서 기록으로 남겨 놓을 것 (Decision tree, Random Forest, DecisionTreeClassifier, DecisionTreeRegressor) (0) | 2020.04.01 |
[Pandas] Visualization 관련 정리 (시각화) (0) | 2020.03.25 |
♡를 눌러주시면 블로그를 작성하는데 큰 힘이 됩니다♪
로그인이 필요없어요.
로그인이 필요없어요.