np.where 결과에서 dtype이 int64
191
작성한 질문수 20
np.where 결과가 그냥 인덱스라고 생각했다가,
결과값 뒤에 [0]붙여 len()를 적용하기에 뭘까 생각했습니다.
튜플이라는 것을 무심코 들었네요.
궁금한점은
index 값이 들어가는데 튜플이 왜 필요할까?
그리고 dtype가 int64로 했을까?
인데스면 -값도 없는데
uint64로 하면 메모리도 줄이지 않을까 하는 생각이 들어서 질문 남깁니다.
답변 1
1
1차원 배열인 경우에 인덱스가 하나로 표현이 되서 튜플의 두번 째 원소가 비게 되는데 2차원인 경우 행, 열 인덱스가 튜플의 원소로 나눠져서 표현되어 튜플이 비지 않게 됩니다.
예.
x = np.array([[1, 2, 3, 4, 5, 6], [-2, 1, 2, 3, 4, 5]])
idx = np.where(x>4)
idx
>>> (array([0, 0, 1]), array([4, 5, 5]))
이와 같은 원리로 3차원인 경우 원소가 3개인 튜플을 얻게 됩니다.
타입 관련은 소스 코드를 공개되지 않아 정확한 이유는 모르겠지만 np.where가 컨디션을 줄 수 있는데 이 컨디션에 따라 음수 및 문자도 반환이 가능합니다. 그래서 기본적으로 uint64보다는 더 범위가 넓은 int64가 디폴트로 하고 문자인 경우에 str으로 처리가 된다고 추측해 봅니다.
답변이 도움이 되셨다면 좋아요 꾹꾹 눌러주세요 :)
열공 하세요!!
수업자료 제공 부탁드립니다.
0
93
2
코드가 어디에 있는지 모르겠습니다.
0
93
2
논문 구현
0
183
2
overfitting이 나는 이유가 궁금합니다.
1
169
2
분류 성능이 잘 안 나오는 이유
0
217
1
AutoEncoder 차원 질문
1
250
2
사전 학습 모델에서의 layer 변경에 대한 질문
1
218
1
7강 폴더 만들
0
259
1
4-3강 cross-validation에서의 best model 선정 기준
0
446
1
regression 문제에 대한 결과 시각화
0
213
1
Loss function 관련하여 질문드립니다.
0
953
1
early stopping 코드 문의
0
325
1
예측 그래프
0
353
1
데이터 불균형
1
364
1
8강 전이 학습 질문
0
395
2
data의 gpu처리 질문
0
240
1
nn.Linear(1024, 10) 관련 질문드립니다.
0
286
1
학습과 평가시 Loss 함수가 다른 이유
0
249
1
전처리 관련해서 질문 있습니다.
0
224
1
데이터 엔지니어의 역량을 기르려면 어떻게 해야할까요?
0
932
2
역전파 내용 중 미분 관련 질문 드립니다
1
278
1
8강 전이학습에서 kernel size 관련 질문 드립니다.
1
952
1
이미지분류-합성곱신경망(CNN) 피쳐맵 질문입니다.
1
581
1
14강 데이터 불균형 RandomRotation
1
479
1





