NUMPY
- NumPy는 다차원 배열을 처리할 수 있는 선형대수학(Linear Algebra) 라이브러리입니다.
- 다음이 실행이 안되면 아나콘다프롬프트에서 conda install numpy 를 실행하여 설치합니다.
* 넘파이의 2차원 배열을 만드는 방법 1
* [[1,2] , [3,4]] 이런식으로 2개가 들어가야한다.
* 넘파이의 2차원 배열을 만드는 방법 2
Save and Load data ( 파일 저장하기, 불러오기 )
* 모든 데이터를 1로 하여, 1을 8개짜리 넘파이 배열을 만드세요.
BUILT-IN METHODS AND FUNCTIONS
특정 값으로, 행렬 만들기
정수의 배열을 얻고자 할때
np.arange(start,stop,step)
정수 말고 실수를 얻고자 할때
★★★★★★ 중요하다 ★★★★★★
이렇게 1차원 배열을 얻은 후, 우리는 이것을 가지고 여러차원으로 만들 수 있다.
reshape 을 이용
1차원 배열 = 벡터 (Vector)
2차원 배열 = 행렬 (Matrix)
Q. 행렬 X를 2행 10열짜리 행렬로 바꾸세요.
Q.. 행렬 X를 20행 1열짜리 행렬로 바꿔서 Y라고 저장하세요.
Q.. x의 shape과 y의 shape을 비교해보세요.
* 위의 식에서 참고해야할 점
- x와 y는 완전 다르다.
- x는 1차원이다.
- Y는 2차원이다.
* 여러단계를 거치지 말고, 한번에 원하는 다차원 배열로 만들 수 있다.
Q. 5 부터 시작해서 25개의 순차적인 정수를 만들고, 이를 5X5 행렬로 만든다.
랜덤값으로 채워진 배열을 만들 수 있다.
단점 : 1개만 뽑아준다.
numpy에서는 random으로 수를 채우는, 행렬을 제공한다.
위와 같은 random이지만 아래 예제는 np소속의 random이다.
np.random.randint(start, stop, size = shape)
시작값과 끝값을 줄 수 있다.
정규분포를 만족하는 랜덤값으로 채우기
np.random.normal(mean, standard deviation, size=shape)
정규분포 (가우시안 분포)
- 대한민국 남자의 키 분포
- 수능 성적 분포

★중요함★
* 각 행렬로 최대값, 최소값이 무엇인지 학습한다.
Q. 행렬별로, 최대값을 구하세요. axis는 외워야한다.
Q. X에 70보다 큰 데이터는 몇개가 있나요?
* 위의 문제를 좀 더 간결한 방법으로 정리한 식 이다.
[ 실습 ]
Q. 4 x 4 ndarray 만드세요. 단, 2 에서 32 까지의 순차적 짝수로 채워졌습니다.
X =
SHAPE, LENGTH AND TYPE OF NUMPY ARRAYS
MAX AND MIN VALUES AND THEIR INDEX
Accessing, Deleting, and Inserting Elements Into ndarrays
다차원배열의 인덱스 접근
항목 삭제 ( delete )
해당 요소만 딱 집어서 삭제
항목을 끝에 추가하기 (append)
항목을 원하는 위치에 추가하기 ( pandas )
Slicing - 잘라서 가져오기
1. ndarray[start:end]
2. ndarray[start:]
3. ndarray[:end]

Slicing 할때, 주의할 점!!!!
* 공유하지않고 X만 가져와서 바꾸고 Y는 그대로 놔두고싶을 때 . copy를 쓴다.
원하는 행, 열을 슬라이싱해서 가져오는 방법
중복된것 제거한 값만 리스트로 가져오기
boolean 연산 중요하다 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
설명은 나중에 따로 작성하기로 한다.
실습
X = 5 x 5 ndarray 를 만드세요.정수 1 부터 25 까지 순차적으로 들어있습니다.
Y = Boolean indexing 을 이용해서 홀수만 뽑아서 배열로 만듭니다.
Arithmetic operations and Broadcasting
1차원 배열 연산

2차원 배열 연산
각 요소마다 연산이 수행됨, 브로드캐스팅
* 학생들 점수가 있습니다. [56, 75, 88, 92, 66]
이 학생들의 점수가 잘못 되어서, -5점씩 한 점수로 바꿔야 합니다.
실습
위의 Broadcasting을 이용하여, 다음과 같은 4 x 4 ndarray를 만듭니다.
[[1. 2. 3. 4.]
[1. 2. 3. 4.]
[1. 2. 3. 4.]
[1. 2. 3. 4.]]
'Python' 카테고리의 다른 글
Random/Datetime/Import (0) | 2022.04.27 |
---|---|
Loop / Functions- Lambda Expressions / def (함수만들기) (0) | 2022.04.26 |
반복문 Loop (for, range)/ Break a loop/Continue statement Range/While /LoopsNested /loops/List Comprehension (0) | 2022.04.25 |
STRINGS - 문자열 (0) | 2022.04.19 |
Python Programing 기초 : 연산 / 변수 (0) | 2022.04.19 |