s = 'hello'
type(s) #str
a = '10'
type(a) #str
int(a) # 10
list = [1, 3, 5, 7, 9, 11, 13, 15]
list #[1, 3, 5, 7, 9, 11, 13, 15]
list = [1, 3, 5, 7, 9, 11, 13, 15]
len(list) #8
list = [1, 3, 5, 7, 9, 11, 13, 15]
list[2:6] #[5, 7, 9, 11] #index 2~5까지 가져옴
list[2:] #index 2 ~ 끝까지, [5, 7, 9, 11, 13, 15]
list[:5] #index 0~4까지 가져옴, [1, 3, 5, 7, 9]
list[:-1] #배열의 첫번째 원소에서 마지막 원소 전까지 [1, 3, 5, 7, 9, 11, 13]
- 배열이나 행렬에 대한 계산을 위한 함수를 모아놓은 라이브러리
import numpy as np
- array() 사용하여 배열 생성 가능 : 생성할 배열의 값을 []형태로 매개변수에 넣어주면 됨
narray = np.array([1,3,5,7,9])
- narray.shape : 넘파이 배열의 형태를 보여달라
narray.shape #(5,)
- 배열에 5개의 원소가 있다는 의미
- 행렬(matrix) : 가로 = 행, 세로 = 열
darray = np.array([[1, 3, 5, 7, 9], [2, 4, 6, 8, 10]]) #2x5 행렬 생성 darray.shape #array(2,5), 가로가 2, 세로가 5인 행렬
- reshape() : 배열 형태 바꾸기
d52 = darray.reshape(5,2) #5x2 행렬로 변경 #array([[ 1, 3], # [ 5, 7], # [ 9, 2], # [ 4, 6], # [ 8, 10]])
- 2차원 ➡️ 1차원 배열로 변경 : reshape(원소의 개수, )
d1 = darray.reshape(10,) #가로가 10인 형태의 1차원 배열로 변경 # array([ 1, 3, 5, 7, 9, 2, 4, 6, 8, 10])
- zeros() : 모든 원소가 0(실수형)인 배열 생성
zero = np.zeros((2,5)) #array([[0., 0., 0., 0., 0.], # [0., 0., 0., 0., 0.]])
- ones() : 모든 원소가 1(실수형)인 배열 생성
one = np.ones((2,5)) #array([[1., 1., 1., 1., 1.], # [1., 1., 1., 1., 1.]])
- 넘파이의 random 라이브러리 사용
- 0부터 1사이의 무작위 값을 균일한 확률 분포로 생성하는 함수
r = np.random.rand(3) #[0.33176596 0.76271979 0.70570591]
import numpy as np import matplotlib.pyplot as plt r = np.random.rand(1000) plt.hist(r) plt.show()
- 정규 분포(가우시안 분포)로 값 생성
- 평균과 표준편차를 정해줄 수 있음
rn = np.random.normal(0,1,3) # 평균 0, 표준 편차 1인 정규분포로 무작위 값 3개 추출 #array([-1.47268374, -0.12373834, -0.20537594])
- 정규 분포 : 일반적인 분포. 평균값을 중심으로 좌우로 멀어질수록 x축에 무한히 가까워지는 종 모양 형태
rn = np.random.normal(0,1,1000) plt.hist(rn) plt.show()
- 특정한 값 사이에 무작위 숫자(정수) 생성
n = np.random.randint(1, 100, 5) #1~100 사이의 숫자 중 5개의 무작위 정수값 추출 #array([92, 3, 93, 68, 18])
- 무작위 수를 만드는 알고리즘에서 일정한 기준 역할을 함
np.random.seed(0) np.random.rand(3)#[0.5488135 0.71518937 0.60276338] np.random.seed(0) np.random.rand(3)#[0.5488135 0.71518937 0.60276338]
- 동일한 무작위 수 생성 가능
구조
for 변수 in 배열 : 반복할 내용
ex)
ten = [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
for i in ten:
print(i)
- 특정 구간의 숫자를 만들어주는 함수
r = range(10) #10개의 숫자를 만듦 #range(0, 10) list(r) #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
five1 = range(1,6,1)
list(five1) #[1, 2, 3, 4, 5]
ten = range(9, -1, -1) #9부터 -1전까지 생성
list(ten) #[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
for i in range(1,6):
print(i)
구조
if 조건: 명령문
ex)
n = 15 if n > 10: print(n)
구조
if 조건: 명령문 else: 명령문
ex)
n = 15 if n % 2 == 0: print('짝수') else: print('홀수')
구조
def 함수명(매개변수): 함수내용
ex)
def num(n): if n % 2 == 0: print('짝수') else: print('홀수') num(10) #'짝수'