넘파이 어레이된 변수 X 는 그래로 두고,
변수 X에서 슬라이싱 한 정보만 따로 저장하여 바꾸고 싶은 경우
X
# array([[ 1, 70, 70, 75],
# [100, 73, 79, 58],
# [ 82, 30, 89, 70]])
Y = X[ : , 1: ]
Y
# array([[70, 70, 75],
# [73, 79, 58],
# [30, 89, 70]])
Y[ 2, 2 ]=100
Y
# array([[ 70, 70, 75],
# [ 73, 79, 58],
# [ 30, 89, 100]])
X
# array([[ 1, 70, 70, 75],
# [100, 73, 79, 58],
# [ 82, 30, 89, 100]])
이렇게 하면 변수 X도 변수 Y에서 수정한 것과 같이 같이 정보가 변경된다
이유 : 메모리로 설정할 수 있어야한다 -> 원래 있던 메모리를 공유하기 때문에 메모리 낭비를 줄이기 위해서 이렇게 만들어졌다
원본을 건들지 않고 새로운 변수 Y를 수정하고 싶다고 하면 Copy 를 사용한다
- copy()
X
# array([[ 1, 70, 70, 75],
# [100, 73, 79, 58],
# [ 82, 30, 89, 100]])
Y = X[:, 1: ].copy()
Y
# array([[ 70, 70, 75],
# [ 73, 79, 58],
# [ 30, 89, 100]])
Y[ 2, 2 ] = 0
Y
# array([[70, 70, 75],
# [73, 79, 58],
# [30, 89, 0]])
X
# array([[ 1, 70, 70, 75],
# [100, 73, 79, 58],
# [ 82, 30, 89, 100]])
'Programming Language > NumPy Library' 카테고리의 다른 글
[Python] 넘파이 1차원 , 2차원 배열 연산과 브로드캐스팅 (0) | 2024.04.07 |
---|---|
[Python] 넘파이 슬라이싱, boolean 연산 _ & 그리고, | 또는 사용 (0) | 2024.04.07 |
[Python] 넘파이 배열(어레이) 인덱싱, 슬라이싱 _변수[ ], 한 줄 띄기, 중복 제거 (2) | 2024.04.07 |
[Python] 넘파이 최대값, 최소값, 전체합, 전체평균, 표준편차, axis 활용 (0) | 2024.04.05 |
[Python] 넘파이 랜덤 추출 함수 : random, randint, seed( ) (0) | 2024.04.05 |