[1] Indexing and Slicing Vector ndarrays
- 슬라이싱을 통해 내가 원하는 위치에 값들을 수정할 수 있다
#Indexing and Slicing Vector ndarrays
#Indexing
import numpy as np
a = np.arange(10)
print(f"ndarray: \n{a}\n")
print("a[0] : ", a[0])
print("a[2] : ", a[2])
print("a[-1] : ", a[-1]) # the last element
print("a[-2] : ", a[-2]) # the 2nd last element
for data in a:
print(data)
#Slicing
print("a[0:3] : ", a[0:3])
print("a[3:7] : ", a[3:7])
print("a[5:-1] : ", a[5:-1])
print("a[2:] : ", a[2:])
print("a[-2:] : ", a[-2:]) # the last two elements
print("a[:5] : ", a[:5])
print("a[:-3] : ", a[:-3])
print("a[:] : ", a[:])
print("a[2:7:2] : ", a[2:7:2])
print("a[::3] : ", a[::3])
print("a[7:2:-1] : ", a[7:2:-1])
print("a[::-1] : ", a[::-1])
print("a[8:3:-2] : ", a[8:3:-2])
print("a[::-3] : ", a[::-3])
a = np.arange(10)
indices = np.array([0,3,6,-1])
print(f"ndarray: \n{a}\n")
print(a[[0,3,6,-1]])
print(a[indices])
print(a[a%3 == 0])
a = list(range(1,11))
print(a)
for data_idx in range(5):
a[data_idx] = 0
print(a)
a = np.arange(1, 11)
print(a)
a[:5] = 0
print(a)
a = np.arange(1,11)
print(a)
a[::2] = 200
print(a)
a[5:-1:3] = 300
print(a)