2_numpy.md

Slicing, indexing

import numpy as np

 

1. Slicing

list = [[1,2,3],
       [4,5,6],
       [7,8,9]]

arr = np.array(list)
a = arr[0:2, 0:2]
print(a)
[[1 2]
 [4 5]]

 

b = arr[1:, 1:]
print(b)
[[5 6]
 [8 9]]

 

2. Indexing

1) Integer indexing

list = [[1,2,3,4],
       [5,6,7,8],
       [9,10,11,12]]

c = np.array(list)
res = c[[0,2], [1,3]]
print(res)
[ 2 12]

 

2) Boolean indexing

list = [[1,2,3],
       [4,5,6],
       [7,8,9]]

d = np.array(list)
b_arr = np.array([[False, True, False],
                 [True, False, True],
                 [False, True, False]])

res = d[b_arr]
print(res)
[2 4 6 8]

 

  • boolean 인덱싱 배열을 생성할때 표현식 이용하기

    예) 배열 a에 대해서 짝수인 배열 요소만 True로 지정

list = [
    [1,2,3],
    [4,5,6],
    [7,8,9]
]

arr = np.array(list)

# 배열 arr에 대해 짝수면 True, 홀수면 False
b_arr = (arr%2==0)
print(b_arr)
print(arr[b_arr])
[[False  True False]
 [ True False  True]
 [False  True False]]
[2 4 6 8]

 

n = arr[arr%2 == 0]
print(n)
[2 4 6 8]

'AI&BigData > Basics' 카테고리의 다른 글

[Pandas] 함수 적용과 매핑  (0) 2018.05.06
[Pandas] Operation  (0) 2018.05.06
[Pandas] Index 객체, reindex  (0) 2018.05.06
[Pandas] DataFrame  (0) 2018.04.30
[Pandas] Series 객체  (0) 2018.04.29
[Numpy] 브로드캐스트. 기타활용  (0) 2018.04.24
[Numpy] 자료형, type(), dtype, arange()  (0) 2018.04.24
[Numpy] 연산  (0) 2018.04.24
[Numpy] numpy 배열, 배열 생성 함수  (0) 2018.04.16