반응형

1. 특정한 데이터만 추출

  원하는 위치의 인덱스 값을 지정하면 해당 위치의 데이터가 반환된다.


# 1에서 부터 9 까지의 1차원 ndarray 생성 
array1 = np.arange(start=1, stop=10)
print('array1:',array1)
# index는 0 부터 시작하므로 array1[2]는 3번째 index 위치의 데이터 값을 의미
value = array1[2]
print('value:',value)
print(type(value))

 

2. 슬라이싱(Slicing)

  슬라이싱은 연속된 인덱스상의 ndarray를 추출하는 방식


array1 = np.arange(start=1, stop=10)
array3 = array1[0:3]
print(array3)
print(type(array3))

array1d = np.arange(start=1, stop=10)
array2d = array1d.reshape(3,3)
print('array2d:\n',array2d)

# ':' 기호 앞에 시작 인덱스를 생략하면 자동으로 맨 처음 인덱스인 0으로 간주
# ':' 기호 뒤에 종료 인덱스를 생략하면 자동으로 맨 마지막 인덱스로 간주
# ':' 기호 앞/뒤에 시작/종료 인덱스를 생략하면 자동으로 처음/맨 마지막 인덱스로 간주
print('array2d[0:2, 0:2] \n', array2d[0:2, 0:2])
print('array2d[1:3, 0:3] \n', array2d[1:3, 0:3])
print('array2d[1:3, :] \n', array2d[1:3, :])
print('array2d[:, :] \n', array2d[:, :])
print('array2d[:2, 1:] \n', array2d[:2, 1:])
print('array2d[:2, 0] \n', array2d[:2, 0])

 

3. 팬시 인덱싱(Fancy Indexing)

  일정한 인덱싱 집합을 리스트 또는 ndarray 형태로 지정해 해당 위치에 있는 데이터의 ndarray를 반환된다.


array1d = np.arange(start=1, stop=10)
array2d = array1d.reshape(3,3)
print("array2d => \n",array2d)


arraytt = array2d[[0,1],]
print("array2d[[0,1]] => \n",arraytt.tolist())

array3 = array2d[[0,1], 2]
print('array2d[[0,1], 2] => ',array3.tolist())


array4 = array2d[[0,1], 0:2]
print('array2d[[0,1], 0:2] =>\n',array4)

array5 = array2d[[0,1]]
print('array2d[[0,1]] => ',array5.tolist())
"""
"""
[[1,2],[4,5]]

 

4. 불린 인덱싱(Boolean Indexing)

  특정 조건에 해당하는지 여부인 True/False 값 인덱싱 집합을 기반으로 True 에 해당하는 인덱스 위치에 있는

  데이터의 ndarray를 반환한다.


array1d = np.arange(start=1, stop=10)
# [ ] 안에 array1d > 5 Boolean indexing을 적용 
array3 = array1d[array1d > 5]
print('array1d > 5 불린 인덱싱 결과 값 :', array3)

반응형

+ Recent posts