numpy 기본 사용법 (1) - 배열 생성, 형변환, 차원 확인, 함수를 사용한 연산
0. 기본 개요
- 데이터 분석에서 pandas와 함께 자주 사용되는 라이브러리로, 다차원 배열을 효과적으로 처리할 수 있도록 도와주는 라이브러리이다.
- numpy는 기본적으로 array타입을 사용하고 큰 특징으로는 python의 list와 다르게 같은 타입의 데이터만 저장할 수 있다.
- 만약 다른 타입의 데이터를 저장하려고 하면 numpy는 자동으로 가장 포괄적인 형태로 형변환을 시도한다.
1. numpy 배열 생성
import numpy as np
arry = np.array([1, 2, 3, 4, 5])
print(type(arry), arry)
# <class 'numpy.ndarray'> [1 2 3 4 5]
2. numpy 배열의 형변환
dtype에 원하는 타입 속성을 지정해주면 된다.
int
, float
, str
등을 사용할 수 있다.
arry = np.array([1, 2, 3, 4, 5], dtype="str")
print(type(arry), arry)
# <class 'numpy.ndarray'> ['1' '2' '3' '4' '5']
3. numpy 배열의 차원 확인
arry = np.array([1, 2, 3, 4, 5])
print(f"{arry.ndim}차원 배열")
# 1차원 배열
4. numpy의 함수를 사용한 사칙연산
arr1 = np.array([10, 20, 30, 40, 50])
arr2 = np.array([1, 2, 3, 4, 5])
# 더하기, 빼기, 곱하기, 나누기
plus = np.add(arr1, arr2)
minus = np.subtract(arr1, arr2)
multiply = np.multiply(arr1, arr2)
divide = np.divide(arr1, arr2)
print(plus, minus, multiply, divide, sep="\n")
# [11 22 33 44 55]
# [ 9 18 27 36 45]
# [ 10 40 90 160 250]
# [10. 10. 10. 10. 10.]
5. numpy의 함수를 사용한 조건식
각각 and, or, not에 포함된 두 조건식은 같은 결과를 리턴한다.
arr1 = np.array([10, 20, 30, 40, 50])
# and 조건
print(arr1[np.logical_and(arr1 > 20, arr1 < 40)])
print(arr1[(arr1 > 20) & (arr1 < 40)])
# or 조건
print(arr1[np.logical_or(arr1 < 20, arr1 > 40)])
print(arr1[(arr1 < 20) | (arr1 > 40)])
# not 조건
print(arr1[np.logical_not(arr1 == 30)])
print(arr1[~(arr1 == 30)])
# [30]
# [10 50]
# [10 20 40 50]
Leave a comment