3주차 Day1 -Python 데이터 다루기(Numpy 실습)
오늘은 Numpy 실습 하는날! 기초적인걸 토대로 설명과 함께 간단한 빈칸 채우기 위주의 실습 문제로 진행됐다
import numpy as np
np.random.seed(42)
# np.random.randn()을 사용하여 4 x 3 x 3 모양을 가진 배열을 만들어줍니다.
A = np.random.randn(4,3,3)
# np.random.normal()을 사용하여 평균 1.56, 표준편차 0.67의 5 x 6 모양을 가진 배열을 만들어줍니다.
B = np.random.normal(loc=1.56, scale=0.67, size=(5,6))
# np.random.randint()을 사용하여 10부터 20까지 임의의 정수로 채워진 3 x 4 모양의 배열을 만들어줍니다.
C = np.random.randint(10,21, size=(3,4))
행렬은 곱셈, 뺄셈, 나눗셈, 나머지 연산이 가능하다
방법은 간단하게
arr1 + arr2
arr1 * arr2
arr1 / arr2
arr1 % arr2
이러한 방법으로 행렬의 원소들의 합,곱, 나누기, 나머지 계산이 가능하다.
np.dot(A,B) 를 이용하여 행렬A 행렬B 의 곱을 구할수 있다.
1차원 행렬의 슬라이싱은 간단하게 arr[1:3] 등의 방법으로 할수 있으면 1:3 이면 실제 사용하는 부분은 1,2 이다.
2차원 행렬의 (3, 7) 에서 (6, 9) 까지의 슬라이싱은 arr[3:7, 7:10] 으로 할수있다.
오늘의 기초문제 5문제
1번 문제는 슬라이싱의 연습으로 간단하게 풀었습니다.
2번 문제는 np.dot 사용하여 푸는 문제로 풀었습니다.
3번 문제는 이차원 배열을 이용하여 특정 배열의 특정값 부분이 조건 이상이면 수행하는 문제였습니다.
4번 문제는 행렬의 곱을 이용하면서 이차원 배열로 하는 문제인데 정답을 이차원 배열로 만들지 못했고 실수로 표시하지 못했습니다.
5번 문제는 3차원 배열의 계산문제이나 풀지 못했습니다..😂