본문 바로가기

Python

파이썬 넘파이 연습

반응형

넘파이는 강력하다. 왜?

배열 연산이 매우 빠름, 다른 차원간의 배열도 계산이 가능함. 

한마디로 빠른데 처리하는 데이터양도 많음. 도구도 많이 가지고 있음. 효율적임. 결론 강력함. 

 

1. 예제 연습

import numpy as np

# 파이썬 리스트 선언

data = [1, 2, 3, 4, 5]
print(data, type(data))

# 파이썬 2차원 리스트(행렬) 선언
data2 = [[1, 2], [3, 4]]
print(data2)


# 파이썬 리스트를 numpy array로 변환
arr = np.array(data)
print(arr, type(arr))

arr = np.array([1,2,3,4,5])
print(arr, type(arr))

# 2차원 리스트를 np.array로 만듦 -> 행렬로 변환
arr2 = np.array(data2)
print(arr2, type(arr2))

# 0~9까지 숫자를 자동으로 생성한 array
arr3 = np.array(list(range(10)))
print(arr3,type(arr3))

# 10부터 99까지 숫자를 자동으로 생성한 numpy array, version1
arr4 = np.array(list(range(10,100)))
print(arr4,type(arr4))

# 10부터 99까지 숫자를 자동으로 생성한 numpy array, version2
arr5 = np.arange(10,100)
print(arr5,type(arr5))

 

2. 예제 연습 두번째 

print('-'*30)
# reshaping array
# 3 * 3 행렬
x = np.array([[1,2,3],
              [4,5,6],
              [7,8,9]])
print(x)

print('-'*30)
#reshape()을 이용하여 생성
y = np.arange(1,10).reshape(3, 3)
print(y)

print('-'*30)
# 6행 1열
z = np.arange(6).reshape(6,1)
print(z)

#배열의 연산
arr1 = np.array([1,2,3])
arr2 = np.array([4,5,6])
print(arr1 + arr2)

# concatenate() : 배열을 합쳐주는 함수
arr3 = np.concatenate([arr1, arr2])
print(arr3)

print('-'*30)

arr4 = np.concatenate([arr1, arr2],axis=None)
print(arr4)

print('-'*30)

# 유니버설(Universal) 함수 : 데이터의 원소별로 연산을 수행해주는 함수
v1 = np.array([1,2,3])
v2 = np.array([4,5,6])
print(v1+v2)
print(v1 - v2)
print(v1*v2)
print(v1/v2)

print('-'*30)

# 리스트로 더하기 연산
L1 = [1,2,3]
L2 = [4,5,6]
print(L1 + L2)

print('-'*30)


# broadcast 함수 : 서로 크기가 다른 numpy array 연산할 때,
# 자동으로 연산을 전파(broadcast)해주는 기능 - 행렬곱 연산 할 때 편리함
arr1 = np.array([1,2,3])
arr2 = np.array([[-1, -1, -1],
                [1, 1, 1]])
print(arr1.shape)
print(arr2.shape)
print(arr1 * arr2)

# indexing
# numpy array의 indexing과 python list의 indexing은 같음
arr1 = np.arange(10)
print(arr1[0])
#마지막 원소
print(arr1[-1])
# 앞에서부터 원소 3개 slicing
print(arr1[:3])


# Numpy Math 함수
# 표준정규분포

math1 = np.random.randn(5,3)
print(math1)

# 절대값 씌우기
print(np.abs(math1))

# 제곱근 구하기
print(np.square(math1))

 

 

반응형

'Python' 카테고리의 다른 글

파이썬 생성자, 상속 문제 풀기  (0) 2023.05.16
파이썬 pandas  (0) 2023.04.26
파이썬 GUI, 넘파이 연습  (1) 2023.04.19
Python 클래스, 객체, GUI  (0) 2023.04.18
Python set, 객체 개념 정리  (4) 2023.04.12