[인공지능]2.파이썬 기초
1. 변수
1) 타입 알아보기
s = 'hello'
type(s) #str
2) 변수형 변경
a = '10'
type(a) #str
int(a) # 10
2. 배열
1) 배열 생성
list = [1, 3, 5, 7, 9, 11, 13, 15]
list #[1, 3, 5, 7, 9, 11, 13, 15]
2) 배열 길이
list = [1, 3, 5, 7, 9, 11, 13, 15]
len(list) #8
3) 배열 슬라이싱(slicing)
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]
3. 넘파이
- 배열이나 행렬에 대한 계산을 위한 함수를 모아놓은 라이브러리
import numpy as np
1) 넘파이 배열
- array() 사용하여 배열 생성 가능 : 생성할 배열의 값을 []형태로 매개변수에 넣어주면 됨
narray = np.array([1,3,5,7,9])
1️⃣ 배열의 형태
- narray.shape : 넘파이 배열의 형태를 보여달라
narray.shape #(5,)
- 배열에 5개의 원소가 있다는 의미
2) 2차원 배열(matrix)
- 행렬(matrix) : 가로 = 행, 세로 = 열
darray = np.array([[1, 3, 5, 7, 9], [2, 4, 6, 8, 10]]) #2x5 행렬 생성
darray.shape #array(2,5), 가로가 2, 세로가 5인 행렬
1️⃣ 배열 형태 바꾸기
- 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])
3) 넘파이 함수
1️⃣ 0으로만 이루어진 배열 생성
- zeros() : 모든 원소가 0(실수형)인 배열 생성
zero = np.zeros((2,5))
#array([[0., 0., 0., 0., 0.],
# [0., 0., 0., 0., 0.]])
2️⃣ 1로만 이루어진 배열 생성
- ones() : 모든 원소가 1(실수형)인 배열 생성
one = np.ones((2,5))
#array([[1., 1., 1., 1., 1.],
# [1., 1., 1., 1., 1.]])
3️⃣ 무작위 숫자로 이루어진 배열 생성
- 넘파이의 random 라이브러리 사용
1) rand()
- 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()
2) normal()
- 정규 분포(가우시안 분포)로 값 생성
- 평균과 표준편차를 정해줄 수 있음
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()
3) randint()
- 특정한 값 사이에 무작위 숫자(정수) 생성
n = np.random.randint(1, 100, 5) #1~100 사이의 숫자 중 5개의 무작위 정수값 추출
#array([92, 3, 93, 68, 18])
4) seed()
- 무작위 수를 만드는 알고리즘에서 일정한 기준 역할을 함
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]
- 동일한 무작위 수 생성 가능
4. 반복문
1) for문
구조
for 변수 in 배열 :
반복할 내용
s = 'hello'
type(s) #str
a = '10'
type(a) #str
int(a) # 10
1) 배열 생성
list = [1, 3, 5, 7, 9, 11, 13, 15]
list #[1, 3, 5, 7, 9, 11, 13, 15]
2) 배열 길이
list = [1, 3, 5, 7, 9, 11, 13, 15]
len(list) #8
3) 배열 슬라이싱(slicing)
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]
3. 넘파이
- 배열이나 행렬에 대한 계산을 위한 함수를 모아놓은 라이브러리
import numpy as np
1) 넘파이 배열
- array() 사용하여 배열 생성 가능 : 생성할 배열의 값을 []형태로 매개변수에 넣어주면 됨
narray = np.array([1,3,5,7,9])
1️⃣ 배열의 형태
- narray.shape : 넘파이 배열의 형태를 보여달라
narray.shape #(5,)
- 배열에 5개의 원소가 있다는 의미
2) 2차원 배열(matrix)
- 행렬(matrix) : 가로 = 행, 세로 = 열
darray = np.array([[1, 3, 5, 7, 9], [2, 4, 6, 8, 10]]) #2x5 행렬 생성
darray.shape #array(2,5), 가로가 2, 세로가 5인 행렬
1️⃣ 배열 형태 바꾸기
- 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])
3) 넘파이 함수
1️⃣ 0으로만 이루어진 배열 생성
- zeros() : 모든 원소가 0(실수형)인 배열 생성
zero = np.zeros((2,5))
#array([[0., 0., 0., 0., 0.],
# [0., 0., 0., 0., 0.]])
2️⃣ 1로만 이루어진 배열 생성
- ones() : 모든 원소가 1(실수형)인 배열 생성
one = np.ones((2,5))
#array([[1., 1., 1., 1., 1.],
# [1., 1., 1., 1., 1.]])
3️⃣ 무작위 숫자로 이루어진 배열 생성
- 넘파이의 random 라이브러리 사용
1) rand()
- 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()
2) normal()
- 정규 분포(가우시안 분포)로 값 생성
- 평균과 표준편차를 정해줄 수 있음
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()
3) randint()
- 특정한 값 사이에 무작위 숫자(정수) 생성
n = np.random.randint(1, 100, 5) #1~100 사이의 숫자 중 5개의 무작위 정수값 추출
#array([92, 3, 93, 68, 18])
4) seed()
- 무작위 수를 만드는 알고리즘에서 일정한 기준 역할을 함
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]
- 동일한 무작위 수 생성 가능
4. 반복문
1) for문
구조
for 변수 in 배열 :
반복할 내용
- 배열이나 행렬에 대한 계산을 위한 함수를 모아놓은 라이브러리
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]
- 동일한 무작위 수 생성 가능
1) for문
구조
for 변수 in 배열 : 반복할 내용
ex)
ten = [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
for i in ten:
print(i)
2) range()
- 특정 구간의 숫자를 만들어주는 함수
r = range(10) #10개의 숫자를 만듦 #range(0, 10) list(r) #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
1️⃣ range(시작 숫자, 끝 숫자, 건너뛰기)
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]
2️⃣ for문 속 range()
for i in range(1,6):
print(i)
5. 조건문
1) if문
구조
if 조건:
명령문
ex)
n = 15
if n > 10:
print(n)
2) if-else문
구조
if 조건:
명령문
else:
명령문
ex)
n = 15
if n % 2 == 0:
print('짝수')
else:
print('홀수')
3) 함수 생성
구조
def 함수명(매개변수):
함수내용
ex)
def num(n):
if n % 2 == 0:
print('짝수')
else:
print('홀수')
num(10) #'짝수'
Author And Source
이 문제에 관하여([인공지능]2.파이썬 기초), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@jjaa9292/인공지능2.파이썬-기초
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
구조
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) #'짝수'
Author And Source
이 문제에 관하여([인공지능]2.파이썬 기초), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jjaa9292/인공지능2.파이썬-기초저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)