본문 바로가기
파이썬/판다스, 넘파이

파이썬 넘파이 기초 배열과 인덱싱, 슬라이싱, 연산

by 큰고양2 2023. 8. 20.

넘파이 불러오기

import numpy as np

코드로 넘파이를 불러온다

꼭 np로 불러올 필요는 없으나 대부분 np로 사용하니

np라는 글자가 죽도록 싫은게 아니라면 np로 정의를 해주자

넘파이로 배열 선언하기

a = np.array([1,2,3])

np.array()로 넘파이 배열을 선언 할 수 있다

 

배열의 이해

배열은 axis(각 축) , rank(축의 수), shape(축의 길이, 배열의 크기)

로 이해가 가능하다

축의 수는 차원의 수 라고 생각하면 되고

axis는 여러 차원 배열에서

0부터 가장 높은 차원의 축이라고 생각하자

 

배열의 형태 확인

변수.ndim  으로 차원

변수.shape 으로 크기

변수.dtype 으로 요소의 자료형을 확인 할 수 있다

 

 

배열 형태 변환

reshape()메소드를 통해 배열의 형태를 변환 할 수 있다

여기서 주의해야 하는 점은 요소의 수가 변하면 안된다는 것이다

예를 들어 

1 2
3 4

다음과 같은 요소 4개를 가진 2차원 배열을

reshape(4,)를 통해

1 2 3 4

로 변경하는 것은 가능하지만

reshape(9,)

reshape(1,) 처럼 요소의 수가 크거나 작으면 에러가 난다

 

-1 활용하기

reshape(1,4) 처럼 직접 행과 열을 지정해도 되지만 

resahpe(-1,4)

reshape(-1,2) 처럼 값을 하나만 지정하고 다른 하나에는 -1을 넣어도 된다

이 경우 요소의 개수가 입력한 값으로 나눠 떨어지면 그 몫 만큼 알아서 -1로 지정한 부분에

값이 들어간다

 

값 조회하기

a = np.array([[1,2,3,4,5],[6,7,8,9,10]])

위와 같이 2개의 행과 5개의 열을 가진 넘파이 2차원 배열에서

첫 번째 행을 조회하려면

print(a[0])

의 형태로 조회가 가능하다

만약 2번째 열들의 값을 조회하고 싶다면

 

print(a[:,1])

으로 조회하면 된다

첫 행 첫 열의 값은

 print(a[0,0])

이다

n:m 으로 범위를 지정해서 값을 조회 할 수도 있는데

이 경우 n부터 m-1까지 조회가 된다

print(a[0:2])

위 코드로 첫 행부터 2번째 행을 조회 할 수 있다

행과 열을 범위로 주게 되면 값을 대각선으로 읽어온다

 

조건으로 조회하기

넘파이 배열에는 조건으로 조회도 가능하다

print(a[a>2])

위 코드는 2보다 큰 값 조회하는 코드다

위 코드처럼 변수 안에 다시 변수명과 조건을 써주면 원하는 조건으로 조회가 가능하다

 

넘파이 배열 연산

넘파이 배열끼리는 곱하기 나누기 더하기 빼기 제곱 등의 연산을 할 수 있다

배열끼리 연산을 하면 각 배열의 같은 위치에 있는 요소끼리 연산을 해 값을 반환한다

 

곱하기

*  or np.multiply(x,y)

나누기

/ or  np.divide(x,y)

더하기

+ or np.add(x, y)

빼기

- or np.subtract(x, y)

제곱

** or np.power(x , y)