1 minute read

2-1. 배열의 index 접근하기

index를 통한 인덱싱

원소의 인덱스로 원소에 접근

# 1차원 배열
arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
print(arr[1])           # 1
print(arr[-1])          # 9
print(arr[3:8])         # [3 4 5 6 7]
print(arr[:-1])         # [0 1 2 3 4 5 6 7 8]
# 2차원 배열
arr = np.array([[1, 2, 3, 4], 
                [5, 6, 7, 8], 
                [9, 10, 11, 12]])
print(arr[0, :])    # 0번째 행의 모든 값(:)을 출력, [1 2 3 4]
print(arr[:, 1])    # 모든 행(:)의 1번째 열을 출력, [2, 6, 10]
print(arr[:2, 2:])

’:’는 ‘모든’을 의미함

2-2. 배열의 Fancy 인덱싱

Fancy 인덱싱

특정 인덱스를 여러개 선택을 해서 탐색하는 방법

# 1차원 배열
arr = np.array([5, 10, 15, 20, 25, 30])
print(arr[[0, 2, 4]])   # 0, 2, 4번째 원소를 가져와라, [ 5 15 25]
# 2차원 배열
arr = np.array([[5, 10, 15, 20], 
                [25, 30, 35, 40], 
                [45, 50, 55, 60]])
print(arr[[0, 2], 2:])    # 0, 2행에 대해서 2열부터 끝까지 선택
print(arr[1:, [2, 3]])

2-3. 배열의 Boolean 인덱싱

Boolean 인덱싱

True에 해당하는 값을 가져오고, False는 가져오지 않음

arr = np.array([1, 2, 3, 4])
print(arr[[True, False, True, False]])      # [1 3]

arr = np.array([[1, 2, 3, 4],
                [5, 6, 7, 8]])
print(arr[[True, False], True])             # [[1 2 3 4]]

2-4. 배열의 범위 인덱싱

범위 인덱싱

주어진 조건에 맞는 값을 반환

arr = np.array([[1, 2, 3, 4], 
                [5, 6, 7, 8]])
print(arr[arr > 3])   # 3초과의 값을 가져옴



인프런: 데이터 과학을 위한 파이썬 NumPy Basic

Tags:

Categories:

Updated: