반응형
# 브로드 캐스팅 복습
arr1 = np.array([1,2,3])
arr2 = np.array([[4,5,6],[7,8,9]])
# 스칼라 -> 원데이터 전체 변경
r1 = arr1 + [1] # +, /, *, -
print(r1)
print("="*50)
# 같은모양 -> 원데이터 전체 변경
r2 = arr1 + arr2
print(r2)
print("="*50)
print(arr1.shape)
print(arr2.shape)
# 행 혹은 열의 크기가 같고 나머지가 1일 때 -> 원데이터 전체 변경
r3 = arr1 + arr2
print(r3)
# 만약 전체를 변경하는 게 아니라 원하는 것 만 변경하려면 -> np.where을 쓰자
1. 행렬 곱
<연습1>
홍길동 - 공부!! - 하루일과중 효과적인 공부시간 확인 (집, 독서실)
- 비타 500 -> 2시간 집중 공부!! (1000)
- 컨디션 -> 4시간 집중 공부!!(5000)
- 집 -> 비타 500 (5개) , 컨디션 (2개)
- 독서실 -> 비타 500 (2개), 컨디션 (1개)
집 -> 18시간
독서실 -> 8시간
조건(1,2,3,4) 이 적기 때문에 쉽게 판단 가능 하지만, 조건이 엄청 많아질경우 판단이 어려워 진다.
행렬을 사용하면 조건이 많아도 쉽게 처리가 가능하다
행렬곱 문법 !!
- 양끝에 숫자로 결과 행렬이 만들어지고
- 마주하는 가운데 숫자가 같아야한다.
- (1,2) (2,2) => (1,2)
- (3,2) (2,1) => (3,1)
# 행렬 곱 (독서실, 집 어디에서 공부하는 것이 시간적으로 유리할까)
# (독서실, 집 어디에서 공부하는 것이 비용적으로 유리할까)
import numpy as np
arr1 = np.array([2,4])
arr2 = np.array([[5,2],[2,1]])
arr3 = np.array([1000,5000])
print(arr1)
print(arr2)
print(arr1.shape)
print(arr2.shape)
print("="*50)
r1 = np.dot(arr1, arr2)
print(r1)
print("="*50)
r2 = np.dot(arr3, arr2)
print(r2)
<연습2>
############## 기계 작동 가능 시간
# 오전 새 기계 4시간, 중고 기계 3시간
# 오후 새 기계 5시간, 중고 기계 4시간
############## 시간당 생산능력
# 새기계 휘발유 5개 생산가능, 등유 4개 생산가능
# 중고기계 휘발유 3개 생산가능, 등유 2개 생산가능
############## 시간대별 (오전, 오후) 사용된 휘발유와 등유의 개수가 몇개인지 파악!!
arr1 = np.array([[4,3],[5,4]])
arr2 = np.array([[5,4],[3,2]])
r1 = np.dot(arr1,arr2)
print(r1)
2. 연립 방정식 해 구하기
arr2 = np.array([[5,2],[2,1]])
arr3 = np.array([1000,5000])
arr4 = np.array([18,8])
r2 = np.dot(arr3, arr2)
print(r2)
print("="*50)
# 연립방정식의 해 구하기
r3 = np.linalg.solve(arr2, arr4)
print(r3)
3. 랜덤벡터, 평균, 제곱근, 표준편차
# Numpy로 랜덤한 10개의 숫자를 입력하여 벡터를 만드시오.(1~100)
arr1 = np.random.randint(1,100,(10))
print(arr1)
# 위에서 뽑은 랜덤한 숫자의 평균을 구하시오
mean = np.mean(arr1)
print(mean)
# 위에서 뽑은 평균의 제곱근의 값을 구하시오
sqrt = np.sqrt(mean)
print(sqrt)
# [1,3,5,7] 의 표준편차를 구하시오.(함수 찾으세요! - 함수를 찾아서 했는데도 이게 뭔?)
d = np.array([1,3,5,7])
std = np.std(d)
print(std)
함수는 필요한 거 찾아서 그때 그때 검색해서 사용하면 된다.
반응형
'Programming > Python' 카테고리의 다른 글
Python pandas 2강 - DataFrame 사용 (0) | 2021.10.26 |
---|---|
Python pandas 1강 - 데이터 다루기 (0) | 2021.10.26 |
Python Numpy 6강 - BroadCasting (0) | 2021.10.20 |
Python Numpy 5강 - DB연결, 학습 (0) | 2021.10.20 |
Python Numpy 4강 - 데이터 합쳐서 시각화 하기 (0) | 2021.10.20 |