본문 바로가기

Study/FastCampus

[Numpy] Numpy 개요 및 행렬 데이터 만들기

728x90
반응형

Numpy는 C로 구현된 파이썬 라이브러리로써, 고성능의 수치계산을 위해 제작되었다.

Numerical Python의 줄임말이기도 한 Numpy는 벡터 및 행렬 연산에 있어서 매우 편리한 기능을 제공한다.

또한 이는 데이터분석을 할 때 사용되는 라이브러리인 pandas와 matplotlib의 기반으로 사용한다.

(참고로, pandas는 numpy를 기반으로 만들어진 라이브러리라고 한다.)

numpy에서는 기본적으로 array라는 단위로 데이터를 관리하며 이에 대해 연산을 수행한다.


Numpy

  • 데이터는 행열로 표현
  • 행열 데이터 빠르게 계산을 해야함
  • 행열 데이터 생성, 수정, 계산 등을 빠르게 처리해주는 패키지
  • 특징
    • C, C++, 포트란로 작성
    • 선형대수학을 빠르게 연산
      • 스칼라, 벡터, 매트릭스

[ 목차 ] 

1. 행렬 데이터 생성

2. 2차원 행렬 생성

3. 행렬의 모양(shape) 변경하기

4. 행렬 데이터의 선택


 

 

 

1. 행렬 데이터 생성

※ ndarray : 한가지 데이터 타입만 값으로 사용이 가능(int, string 등 데이터 타입 혼용 불가능)

import numpy as np

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

# 출력결과
<class 'numpy.ndarray'> [1 2 3]

 

2. 2차원 행렬 생성

array2 = np.array(
	[[1, 2, 3],
	[4, 5, 6]],
)
  
print(array2, array2.ndim, array2.shape)

# 출력결과
[[1 2 3] 
 [4 5 6]] 2 (2, 3)

 

3. 행렬의 모양(shape) 변경하기

print(array2.reshape(3,2))
print()
print(array2.reshape(2,3))
print()
print(array2.reshape(6))

# 출력결과
[[1 2]
 [3 4]
 [5 6]]

[[1 2 3]
 [4 5 6]]

[1 2 3 4 5 6]

 

4. 행렬 데이터의 선택 : offset index : masking

print(array2[0])
print()
print(array2[1])

# 출력결과
[1 2 3]

[4 5 6]

###################################
print(array2[1][2]) # array2[1, 2]과도 동일한 출력결과를 얻을 수 있다.
print()
print(array2[1][:2])
print()
print(array2[1][::-1])
print()
print(array2[1, 2]) # array2[1][2]과 동일한 출력결과
# 출력결과
6

[4 5]

[6 5 4]

6
######################################

 

728x90
반응형

'Study > FastCampus' 카테고리의 다른 글

[Numpy] 행렬 데이터의 결합  (0) 2021.06.23
[Numpy] Numpy 행렬값 치환하기  (0) 2021.06.23
[python] map(), filter(), reduce() 구현  (0) 2021.05.17
[python] Decolator - ①  (0) 2021.05.06
[python] Map(), Filter(), reduce()  (0) 2021.05.04