반응형
안녕하세요.
저는 원래 Java를 활용해 웹개발을 주로 했었는데요.
이번에 Numpy라는 파이썬의 라이브러리를 활용해 데이터 분석 기초와 관련된 공부를 해볼 기회가 생겼습니다.
파이썬을 써보지는 않았지만 훨씬 직관적이고 사용하기에 편리해 많이들 사용하고 있다고 들었고
따라서 Numpy를 공부하며 파이썬 역시 조금씩 공부해볼까 합니다.
#1 배열 만들기
# Phthon List
list(range(10))
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# Numpy
import numpy as np
np.array([1, 2, 3, 4, 5])
# array([1, 2, 3, 4, 5])
np.array([3, 1.4, 2, 3, 4])
# array([3., 1.4, 2., 3., 4. ])
np.array([[1, 2],
[3, 4]])
# array([[1, 2],
[3, 4]])
np.array([1, 2, 3, 4], dtype='float')
# array([1., 2., 3., 4.])
먼저 일반 list와 Numpy를 활용해 배열을 만들어 보았습니다.
(참고로 Numpy를 사용할땐 상단에 numpy를 import 해줘야하고 줄여서 np로 많이 사용한다고 합니다.)
Numpy를 활용하면 2차원 배열 및 배열의 데이터 타입을 편리하게 지정할 수 있습니다.
또한, 파이썬 리스트로도 계산할 수 있지만 Numpy는 list에 비해 빠른 연산을 지원하고
메모리를 효율적으로 사용할 수 있다고 합니다.
arr = np.array([1, 2, 3, 4], dtype=float)
arr # array([1., 2., 3., 4.])
arr.dtype
# dtype('float64')
arr.astype(int)
# array([1, 2, 3, 4])
# arr의 type을 float64 --> int 로 변경
Python의 list의 경우에는 여러 Type 을 하나의 Array에 함께 사용할 수 있지만
Numpy의 Array는 단일 타입으로 구성돼 있습니다.
* Numpy 배열 데이터 타입 dtype (참고)
dtype | 설명 | 다양한 표현 |
int | 정수형 타입 | i, int_, int32, int64, i8 |
float | 실수형 타입 | f, float_, float32, float64, f8 |
str | 문자열 타입 | str, U, U32 |
bool | 부울 타입 | ?, bool_ |
#2 다양한 배열 만들기
np.zeros(10, dtype=int)
# array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
np.ones((3, 5), dtype=float)
# array([[1., 1., 1., 1., 1.],
# [1., 1., 1., 1., 1.],
# [1., 1., 1., 1., 1.]])
np.arange(0, 20, 2)
# arange(start, end, step)
# array([0, 2, 4, 6, 8, 10, 12, 14, 16, 18])
np.linspace(0, 1, 5)
# array([0. , 0.25, 0.5, 0.75, 1.])
# 난수로 채워진 배열 만들기
np.random.random((2, 2))
# array([[0.30986539, 0.85863508],
# [0.389151021, 0.19304196]])
np.random.normal(0, 1, (2,2))
# 정규분포, 평균=0, 표준편차=1인 데이터를 2x2형태로 표현
# array([[0.44050683, 0.04912487],
# [-1.67023947, -0.70982067]])
np.random.randint(0, 10, (2,2))
# 0 ~ 10 사이의 숫자를 2x2형태로 표현
# array([[3, 9]
# [3, 2]])
이처럼 간단한 함수만으로도 다양한 형태의 배열을 선언할 수 있습니다.
다음에는 생성된 배열을 활용하는 방법을 공부해보도록 하겠습니다.
감사합니다.
반응형
'IT > Python' 카테고리의 다른 글
Pandas(판다스) - 파이썬을 활용한 데이터 분석 기초 #4 (4) | 2022.09.25 |
---|---|
Numpy(넘파이) - 파이썬을 활용한 데이터 분석 기초 #3 (2) | 2022.09.20 |
Numpy(넘파이) - 파이썬을 활용한 데이터 분석 기초 #2 (0) | 2022.09.19 |