1) numpy의 정의
numpy 라이브러리란 데이터를 효율적으로 저장할 수 있는 data structure이다.
기본적으로 저장을 위한 data structure이기 때문에 데이터를 저장하는데 특화 되어 있으며
이 데이터를 분석, 가공하기 위해선 pandas 라이브러리가 필요하다.
2) numpy의 특징
기본적으로 차원을 활용한 데이터 구조를 생성 저장하며 1차원은 배열
2차원은 행렬 3차원은 행렬에 z값을 추가한 입체적인 구조이다.
3. numpy라이브러리 실행
다른 라이브러리랑 똑같이 import로 작동한다.
import numpy as np
# 넘파이 호출시 편의상 np로 호칭을 바꿔 사용된다.
4. numpy로 배열 생성하기
np.array(a)로 1차원 배열을 만들수 있다.
# 넘파이로 1차원 데이터를 만들어보자
a= [1,3,4,2,4,2]
x = np.array(a)
x
>>>>>> array([1, 3, 4, 2, 4, 2])
5. numpy로 2차원 행렬 생성하기
np.array(a)에서 a의 형식을 [[ a,b ],[c,d] ]와 같은 형식으로 입력하여 나타낼 수 있다.
# 넘파이로 2차원 배열을 만드는 방법
X= np.array( [[10,4],[6,8]])
X
>>>>>> array([[10, 4],
[ 6, 8]])
6. numpy값 저장하기
numpy 데이터는 외부 파일로 저장이 가능하다. 언제든 다시 꺼내서 쓸수 있다.
X
>>>>array([[10, 4],
[ 6, 8]])
#저장하기
np.save('my_array',X)
#my_array.npy 파일이 폴더에 생김
#불러오기
Y = np.load('my_array.npy')
>>>>>array([[10, 4],
[ 6, 8]])
7. 숫자 0로,1로,원하는 숫자로 numpy데이터 만들기
numpy데이터는 라이브러리에서 제공하는 함수를 가지고 간단하게 데이터를
생성할 수 있다.
# 숫자 0으로 되어있는 1차원 배열 만들기
np.zeros(1)
>>>>> array([0.])
np.zeros(7)
>>>>> array([0., 0., 0., 0., 0., 0., 0.])
#숫자 0으로 되어있는 2차원 배열 만들기
#3행 4열짜리 행렬
np.zeros( (3,4) )
>>>>>array([[0., 0., 0., 0.],
[0., 0., 0., 0.],
[0., 0., 0., 0.]])
#모든 데이터를 1로 하여, 1차원 배열을 만드는 방법
np.ones(5)
>>>>>>array([1., 1., 1., 1., 1.])
#모든 데이터를 1로 하여, 2차원 배열을 만드는 방법
np.ones( (4,3) )
>>>>>>array([[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.]])
#숫자 7로, 1차원 배열 만들기
#첫번째 파라미터는 데이터 shape, 두번째 파라미터는 원하는 숫자
np.full( 3 , 7 )
>>>>>>array([7, 7, 7])
# 2차원으로 만들기
np.full( (4,5),7 )
>>>>>>array([[7, 7, 7, 7, 7],
[7, 7, 7, 7, 7],
[7, 7, 7, 7, 7],
[7, 7, 7, 7, 7]])
8. 정수의 배열을 (나열된 데이터를) 얻고자 할때
numpy는 range함수에서 발전된 arange함수로 나열된 데이터를 얻을 수 있다.
arange함수의 구조는 np.arange(start,stop,step) 이렇게 쓴다.
# 0부터 9까지의 정수를 만들어 주세요
np.arange(10)
>>>>> array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
# 4부터 19까지의 정수를 만들어 주세요
np.arange(4 , 19+1)
>>>>> array([ 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19])
반응형
'파이썬 함수' 카테고리의 다른 글
numpy라이브러리(3) 연산자 함수 (0) | 2022.11.23 |
---|---|
numpy 라이브러리(2) 데이터 재배열과 랜덤함수 (0) | 2022.11.23 |
기타 라이브러리 statistics (0) | 2022.11.22 |
날짜와 시간 라이브러리 (0) | 2022.11.22 |
라이브러리와 랜덤 모듈 (0) | 2022.11.22 |