본문 바로가기

Python

파이썬 - Numpy 사용법 정리

이번 포스팅에서는 Numpy의 사용방법에 대해서 작성해보려고 한다. 

 

이 포스팅에서는 Numpy를 np로 import한것을 가정하고 코드를 작성하였다.

 

1. 리스트(list)를 배열(array)로 바꾸기

리스트를 array로 바꾸기 위해서는 np.array('변경을 희망하는 리스트')로 코드를 작성하면 된다. 

 

2. numpy를 활용한 간단한 배열 만들기

여기서 핵심은 np.zeros, np.ones,  np.eye를 사용해서 배열을 만들 수 있다는 것이며

사용방법은 위의 코드를 참고하면 쉽게 이해할 수 있을 것이다. 

추가로 np.eye(N, M=None, k=0, dtype=np.float) 함수로 작성할 수 있으며, 함수의 내부를

설명하면 N*M 행렬을 정의하며,  k번째 주대각 원소를 1로 만들고 data type은 float이라는 것이다. 

사용자가 편의에 맞게 수정하면 된다.

 

3. 배열형태 조정하기(reshape)

기존에 있던 array를 사용자가 원하는 배열의 형태로 바꾸고 싶을 때 reshape를 사용하면 된다.

위의 예시에서는 기존 B라는 1*8배열을 2*4배열로 새롭게 정의했다. 코드가 어렵지 않기 때문에

쉽게 이해할 수 있을 것이다.

 

4. array에 대한 기초적인 연산 

위의 예시에서 알 수 있듯, 먼저 리스트끼리 '+' 연산을 취하면 각 리스트들끼리 병합이 되다.

하지만 array의 경우 '+' 또는 '-' 연산을 취하면 같은 위치에 있는 원소끼리 더하거나 빼는 작업이

행해지는 것을 알 수 있다.

 

또한 ' ** ' 연산은 제곱을 계산하는 것인데 예를 들어 a**2로 코드를 작성하면 array a의 원소들을

제곱한 array를 의미한다.  위 예제에서는 a의 세제곱을 반환한 것이다. 

sin()함수는 numpy의 universal function중 하나인데, 차후에 universal function에 대해

자세히 정리하기로 하겠다.  여기서는 단순히 삼각함수 sin값을 반환한다는 정도만 알아두자. 

마지막은 data cleaning에 사용되는 것으로 어떤 array에 대해서 특정 조건을 만족하는지

확인하는데 사용한다. 

 

위의 예제는 elementwise product와 matrix product에 대한 코드를 작성한 것이다. 

elementwise product는 동일한 위치의 원소들끼리 곱한것을 반환하는 연산이며,

matrix product는 우리가 알고 있는 matrix끼리 곱하는 연산을 생각하면 된다. 

코드가 복잡하지 않으니 한번 보면 충분히 이해할 것이라 생각된다. 

 

5. 행렬전환

위의 예제는 특정 matrix에 대한 전치행렬을 구하는 코드이며, 간단한 코드이며 쉽게 이해할 수 있을 것이다. 

 

6. 인덱싱과 자르기 

위의 예제에 작성되어 있는 코드는 numpy의 원소에 접근할 수 있는 가장 기본적인 코드로 쉽게 이해할 수 있을 것이다. 

numpy의 슬라이싱을 사용하면 조금더 유연하게 데이터에 접근할 수 있다.

 

다음 포스팅에 추가로 numpy의 기본적인 내용을 작성하겠다. 

'Python' 카테고리의 다른 글

Numpy 사용법 정리(3)  (0) 2022.04.21
Numpy 사용법 정리(2)  (0) 2022.04.20
우선순위 큐와 다익스트라 알고리즘(Dijkstra algorithm)  (0) 2022.01.31
파이썬 내장함수  (0) 2022.01.22
딕셔너리(Dictionary) 사용법 정리  (0) 2022.01.17