'''
색인을 활용한 값 변경
1. 인덱싱 이용한 데이터 변경
2. 슬라이싱 이용한 데이터 변경
3. fancy 색인 이용한 데이터 변경
4. boolean 색인 이용한 데이터 변경
'''
import numpy as np
arr = np.arange(10)
print(arr) # [0 1 2 3 4 5 6 7 8 9]
# 1. 인덱싱 이용한 데이터 변경
arr[0] = 100
print(arr) # [100 1 2 3 4 5 6 7 8 9]
# 2. 슬라이싱 이용한 데이터 변경
# 가. 일반 파이썬
x = list(range(9))
print(x) # [0, 1, 2, 3, 4, 5, 6, 7, 8]
# x[0:3] = 100 # broadcasting 불가
x[0:3] = [100,200,300] # shape 일치하면 일반 파이썬도 슬라이싱 데이터 변경 가능
print(x)
# 나. numpy의 ndarray
arr = np.arange(10)
print(arr) # [0 1 2 3 4 5 6 7 8 9]
arr[0:3] = 100 # broadcasting 가능
print(arr) # [100 100 100 3 4 5 6 7 8 9]
# 3. fancy 색인 이용한 데이터 변경
arr = np.arange(10)
print(arr) # [0 1 2 3 4 5 6 7 8 9]
arr[[0,2,4]] = 100
print(arr) # [100 1 100 3 100 5 6 7 8 9]
# 모든 값 변경
arr[:] = 999
arr[...] = 888
print(arr)
# 4. boolean 색인 이용한 데이터 변경
arr = np.arange(10)
print(arr) # [0 1 2 3 4 5 6 7 8 9]
arr[arr%2==0] = 100
print(arr) # [100 1 100 3 100 5 100 7 100 9]
'python' 카테고리의 다른 글
[numpy] numpy 병합 | 열 병합 | 행 병합 (0) | 2022.09.29 |
---|---|
[numpy] numpy 얕은 복사 | 깊은 복사 (0) | 2022.09.29 |
[numpy] numpy 2차원 색인 | 인덱싱, 슬라이싱, fangy, boolean (0) | 2022.09.29 |
[numpy] numpy 1차원 색인 | 인덱싱, 슬라이싱, fangy, boolean (0) | 2022.09.29 |
[numpy] numpy의 벡터 연산 (연산자 활용) (0) | 2022.09.28 |