python

[Numpy] 배열 조회

hoazzinews 2025. 8. 25. 14:49
import numpy as np

# 1. 인덱싱(indexing)를 이용한 numpy 배열 조회
np_arr = np.arange(10)
print(f'np_arr: \n{np_arr}')

print(f'np_arr[0]: {np_arr[0]}') 
print(f'np_arr[4]: {np_arr[4]}')

np_arr = np.arange(12).reshape(3, 4)
print(f'np_arr: \n{np_arr}')

print(f'np_arr[0]: {np_arr[0]}')
print(f'np_arr[0][2]: {np_arr[0][2]}')

# 2. 반복(for)문을 이용한 numpy 배열 조회: 
np_arr = np.arange(12).reshape(4, 3)

for row in np_arr:
    print(f'row: {row}')
    for value in row:
        print(f'value: {value}')

for row in range(np_arr.shape[0]):
    for column in range(np_arr.shape[1]):
        print(f'np_arr[{row}][{column}] = {np_arr[row][column]}')

# 3. nditer()을 이용한 numpy 배열 조회: 모든 차원의 요소를 자동으로 순회 (차원이 몇 개든 무관)
np_arr = np.arange(12).reshape(4, 3)
print(f'np_arr: \n{np_arr}')

for value in np.nditer(np_arr):
    print(f'value: {value}')


np_arr = np.arange(24).reshape(2, 4, 3)
print(f'np_arr: \n{np_arr}')

for value in np.nditer(np_arr):
    print(f'value: {value}')

# 4. .flat을 이용한 numpy 배열 조회: 배열의 1차원 요소를 자동으로 순회
np_arr = np.arange(24).reshape(2, 4, 3)
print(f'np_arr: \n{np_arr}')

for value in np_arr.flat:
    print(f'value: \n{value}')

# 5. 슬라이싱(slicing)을 이용한 numpy 배열 조회
np_arr = np.arange(12)
print(f'np_arr: \n{np_arr}')

print(f'np_arr[:9]: \n{np_arr[:9]}')
print(f'np_arr[4:]: \n{np_arr[4:]}')
print(f'np_arr[4:9]: \n{np_arr[4:9]}')
print(f'np_arr[4:9:2]: \n{np_arr[4:9:2]}')
print(f'np_arr[:-1]: \n{np_arr[:-1]}')
print(f'np_arr[:-3]: \n{np_arr[:-3]}')
print(f'np_arr[:-3:2]: \n{np_arr[:-3:2]}')

np_arr = np.arange(24).reshape(4, 6)
print(f'np_arr: \n{np_arr}')

print(f'np_arr[:3]: \n{np_arr[:3]}')
print(f'np_arr[1:]: \n{np_arr[1:]}')
print(f'np_arr[1:3]: \n{np_arr[1:3]}')
print(f'np_arr[:4:2]: \n{np_arr[:4:2]}')
print(f'np_arr[:-1]: \n{np_arr[:-1]}')
print(f'np_arr[:-3]: \n{np_arr[:-3]}')
print(f'np_arr[:-1:2]: \n{np_arr[:-1:2]}')

np_arr = np.arange(24).reshape(4, 6)
print(f'np_arr: \n{np_arr}')
print(f'{np_arr[1:-1, :-2:2]}')

# 6. 조건을 이용한 numpy 배열 조회
np_arr = np.arange(12).reshape(3, 4)
print(f'np_arr: \n{np_arr}')

print(f'{np_arr[np_arr > 6]}')
print(f'{np_arr[np_arr < 10]}')

print(f'{np_arr[np_arr + 10 == 20]}')
print(f'{np_arr[np_arr - 10 == 0]}')
print(f'{np_arr[np_arr * 10 == 100]}')
print(f'{np_arr[np_arr / 10 == 1]}')
print(f'{np_arr[np_arr % 10 == 0]}')
반응형

'python' 카테고리의 다른 글

[Numpy] 배열 변경  (0) 2025.08.25
[Numpy] 배열 생성  (0) 2025.08.25
[Numpy] 배열 병합 및 분할  (0) 2025.08.20
[Numpy] 배열 연산  (0) 2025.08.20
[Numpy] shape 변경(리쉐이프)  (0) 2025.08.20