inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[개정판] 파이썬 머신러닝 완벽 가이드

numpy에서 [:]연산

322

Rep

작성한 질문수 9

0

안녕하세요.

1차원 리스트의 경우 shallow copy가 가능하여

a = [1, 2, 3]

b = a[:]

a[1] = 123123

print(b)  # [1, 2, 3]

a를 수정해도 b가 영향받지 않는데 numpy는 영향을 받더군요.

numpy에서 slicing을 통한 shallow copy를 지원하지 않는 이유가 있을까요?

이상입니다.

머신러닝 배워볼래요? 통계 python

답변 1

0

권 철민

안녕하십니까,

슬라이싱 인덱싱에 대한 좋은 정보 감사드립니다.

넘파이의 슬라이싱 인덱스 : 를 사용하면 원본 데이터를 shallow 나 deep 하지 않고 view 개념이 적용됩니다.

따라서 슬라이싱 인덱스를 이용하여 원본 ndarray를 인덱싱하여 반환된 변수는 원본 ndarray를 그대로 투영하고 있다고 생각하시면 됩니다.

a=np.array([[0, 1, 2],[3, 4, 5]])
b = a[0:1]
print('a:',a)
print('b:',b)

a[0,0] = 100
print('a:',a)
print('b:',b)

단일값 인덱스, 팬시 인덱스, 불린 인덱스는 view 개념이 아니라 copy 개념인데 슬라이싱 인덱스 : 는 view 개념입니다.

아래는 팬시 인덱스를 테스트 한 것입니다.

a = np.arange(10)
print(a)
b = a[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]]
print(b)
a[3] = 123123
print(b)

이러한 이유로 슬라이싱 인덱스를 사용할때는 주의가 필요합니다. 

슬라이싱 인덱스에 대한 좋은 지적 감사드립니다.

모델 서빙과 관련된 강좌가 출시되는지 질문드립니다.

0

11

2

안녕하세요 열심히 수강중인 학생입니다

0

63

2

정수 인덱싱

0

68

2

넘파이 오류

0

85

2

11강 numpy의 axis 축 질문 드립니다.

0

85

2

Kaggle 에서 Santander customer satisfaction data 를 다운로드 되지가 않습니다.

0

79

2

Feature importances 를 보여주는 barplot 이 그래프로 안보여져요.

0

70

2

타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.

0

75

2

타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.

0

64

2

5강 강의 오류가 있어요.

0

84

1

실무에서 LTV 관련 모델 선택 질문입니다!

0

72

2

14강 강의 듣는중에 궁금한게 있어서 질문합니다~

0

69

3

파이썬 다운그레이 후 사이킷런 재설치

0

117

2

좋은 강의 감사합니다.

0

74

2

scoring 함수 음수값

0

67

2

6번 강의에 사이킷런, 파이썬, 아나콘다 각각 버전 일치 안 시키고 진행해도 강의 따라가 지나요?

0

100

2

분류 평가 정확도 예측

0

79

2

안녕하세요. 강의 들으면서 업무에 적용하고 싶은 수강생입니다.

0

99

1

카카오톡 채널 있나요

0

108

1

혹시 강의에서 사용하시는 ppt 받을 수 있는건가요

0

190

2

pca 스케일링 관련하여 질문드립니다.

0

100

2

주피터 대신 구글 코랩

0

172

2

강의에서 사용하는 pdf or ppt자료는 따로 없는 건가요?

0

148

2

실루엣 스코어..

0

86

2