[무럭무럭자라라]#7파이썬_NumPy

ChoiCOKo·2021년 7월 21일
0

무럭무럭자라라

목록 보기
7/9
post-thumbnail

데이터 핸들링을 위한 라이브러리 NumPy

  • NumPy : Numericla Python
    대규모 다차원(많은 2차원 이상의) 배열을 다룰 수 있게 도와주는 라이브러리

데이터의 대부분은 숫자 배열

반복문 없이 배열 처리 가능 + 빠른 연산을 지원하고 메모리 효율적 사용 가능
빅데이터 분석 등에 널리쓰이는 매우 강력한 라이브러리

  • list vs NumPy

    , 로 구분되는 값들은 list
    공백으로 구분되는 값들은 배열

  • NumPy

    #_0부터 4까지 연ㅇ속적인 숫자가 들어있는 배열을 만들어 보자!

import numpy as np
array = np.array(range(5))
print(array)	#_[0 1 2 3 4]

배열의 기초

dtype

list : [여러 데이터 가능]
NumPy : [단일 데이터만 가능]

  • ndarray의 차원 관련 속성
    ndim(차원) & shape(행렬의 모양)
    크기 속상과 shape 조절 가능
import numpy as np

print("1차원 array")
array = np.array(range(10))
print(array)

# 1. array의 자료형을 출력해보세요.
print(type(array))

# 2. array의 차원을 출력해보세요.
print(array.ndim)

# 3. array의 모양을 출력해보세요.
print(array.shape)

# 4. array의 크기를 출력해보세요.
print(array.size)

# 5. array의 dtype(data type)을 출력해보세요.
print(array.dtype)

# 6. array의 인덱스 5의 요소를 출력해보세요.
print(array[5])

# 7. array의 인덱스 3의 요소부터 인덱스 5 요소까지 출력해보세요.
print(array[3:6])

배열의 기초2

2차원 array

indexing : 값을 찾아냄

x = np.arange(7)
print(x) #_[0 1 2 3 4 5 6]
print(x[3]) #_3

x[0] = 10
print(x) #_[10 1 2 3 4 5 6]

x = np.arange(1, 13, 1(이거는 step이야))
x.shape = 3, 4
print(x)

# [[ 1 2 3 4]
   [ 5 6 7 8]
   [ 9 10 11 12]]
   
   print(x[2, 3])	# 12

slicing

인덱스의 값으로 배열의 일부분을 가져옴

x = np.arange(7)

print(x[1:4])	# [1 2 3]
print(x[1:])	# [1 2 3 4 5 6]
print(x[:4])	# [0 1 2 3]
print(x[::2])	# [0 2 4 6] 처음부터 끝까지 2의 간격으로 불러와라는 뜻

x = np.arnage(1, 13 ,1)
x.shpae = 3, 4
print(x[1:2, :2:3])	# [[5]]
print(x[1: , :2])	#

Boolean indexing

배열의 각 요소의 선택 여부를 Boolean mask를 이용하여 지정하는 방식

x = np.arange(7)
print(x < 3)	# [ T T T F F F F ]

print(x[x < 3])	# [0 1 2]
print(x[x % 2 == 0])	# [0 2 4 6]

Fancy indexing

배열의 각 요소 선택을 index 배열을 전달하여 지정하는 방식

찾고 싶은 자리 = 인덱스에 어떤 값이 있는지?

x = np.arange(7)
print(x[[1, 3, 5]]	# [1 3 5]

x = n[.arange(1, 13 ,1).reshape(3, 4)
print(x[[0, 2]] 
# 
profile
무럭무럭자라라

0개의 댓글