Day 10 - Numpy

2022. 10. 18. 17:18Python

이번 글에서는 파이썬의 라이브러리 중 데이터 분석에 많이 쓰이는 넘파이에 대해 정리할 것이다. 카카오 사태 이후 티스토리에 글 쓰는 방법을 알아서 이 글부터는 다시 바로 블로그에 작성해서 업로드하게 된다.

Numpy는 파이썬에서의 데이터 분석에서 함수 및 벡터 연산에 대한 다양한 함수를 제공하며, 배열(array) 형태의 데이터 타입을 통해 보다 빠른 연산을 수행 가능하게 한다.

넘파이와 넘파이 배열의 구조에 대한 설명이다.

특히 numpy의 배열에는 다양한 속성들이 있다. 해당 속성들은 데이터의 구조(, , 차원), 차원, 데이터 타입, 데이터 개수(* * 차원) 등으로 이루어져 있다. 또한 배열의 데이터 타입을 바꾼다거나, 배열의 데이터 구조를 바꾸는 함수도 존재한다.

배열을 생성해보았다.

리스트를 배열 타입으로 변화한 후, 각 속성들을 직접 알아보았다.

배열 및 배열 내 데이터의 속성을 알아보았다.

또한 데이터 타입과 구조도 변화 시켜 보았다.

데이터 타입과 구조를 변화시켜 보았다.

 

하나하나씩 확인한 이후에는 한 번에 데이터 속성을 확인할 수 있도록 함수를 정의했다. 이후에는 해당 함수를 통해 데이터 속성을 확인할 것이다.

프린트 함수를 만들었다.

 

한 편 배열의 경우 배열 내부의 데이터들의 타입이 하나로 통일되어야 하는데, 만약 그렇지 않을 경우 str > float > int의 우선순위에 따라 데이터타입을 변환한다.

우선순위를 확인해보았다.

 

2차원, 3차원 리스트를 통해 배열을 생성하고, 해당 배열들의 데이터 속성을 알아보았다.

데이터의 차원에 집중하자.

또 데이터타입을 파라미터로 지정해서 numpy 배열 내부의 자료형을 바꾸었다.

실습해보았다.

 

한 편 배열의 생성 및 초기화 방법에 대해 공부했다.

처음으로 공부한 것은 초기값을 지정하여 데이터를 자동으로 가지는 배열을 생성하는 것으로, 여러 함수들을 배우고 실습했다.

초기값을 지정하여 배열을 자동으로 생성하는 방법들이다.

 

또한 like 함수에 대해서도 배웠는데, like 함수는 배열 내 값보다는 데이터의 배열에 집중하여 배열을 구성하는 함수이다. 위의 함수들과 달리 like 함수는 이미 있는 배열 혹은 데이터를 통해 새로운 배열을 구성한다.

like함수에 대한 설명과 예시이다.

 

배열의 생성 및 초기화 방법에는 범위와 조건이 있는 1차원 배열을 생성하는 함수를 사용하는 방법도 있다.

3가지 함수가 있다.

 

np.linspace()는 시작값부터 마지막값까지 사이의 특정 개수의 균등한 간격의 숫자를 데이터로 가지는 1차원 배열을 생성하는 함수이다.

np.linspace()에 대한 설명과 예시이다.

뒤의 숫자를 배열 안의 데이터에 포함하는 것이 기본이고, 포함하지 않게 하고 싶다면 endpoint=False로 하면 된다. 또한 retstep=True로 줄 경우, 튜플로 배열객체와 간격값을 묶어서 return한다.

각 인자를 주었을 때의 실습이다.

 

np.arange는 시작값부터 마지막값까지 사이의 일정한 개수의 지정한 간격만큼 떨어진 숫자들을 데이터로 가지는 1차원 배열을 생성하는 함수이다.

np.arange()의 설명과 실습이다.

np.arange의 경우, np.linspace와 달리 마지막 값이 데이터에 포함되지 않으며, 데이터 개수를 지정할 수 없다.

 

np.logspace()는 시작값부터 마지막값까지 로그 스케일로 지정된 범위의 특정 개수의 균등한 간격의 숫자를 데이터로 가지는 1차원 배열을 생성하는 함수이다.

np.logspace()의 설명과 예시이다.

start값에 0, stop값에 1을 주었을 경우, log1부터 log10 사이의 값들을 log를 뗀 상태로 배열에 데이터로 입력한다. , 100제곱부터 1제곱 사이의 값을 균등한 간격으로 데이터로 입력하게 된다.

'Python' 카테고리의 다른 글

Day 11 - Numpy (3)  (0) 2022.10.19
Day 11 - Numpy (2)  (0) 2022.10.19
Day 10 - 파이썬의 클래스 (4)  (0) 2022.10.18
Day 9 - 파이썬의 클래스 (3)  (0) 2022.10.18
Day 9 - 파이썬의 클래스 (2)  (0) 2022.10.18