시험공부빅데이터분석
← 보드Tensor · 5/11

조건으로 고르기 — Boolean indexing

숫자 대신 "조건"으로 골라낼 수도 있어요. x >= 6처럼 비교하면 같은 모양의 참/거짓 Tensor가 나오고, 이것을 번호 자리에 넣으면 True인 자리의 값만 꺼내져요.

x = torch.tensor([3, 8, 1, 10, 6]) condition = x >= 6 print(condition) print(x[condition]) print(x[x >= 6])
tensor([False, True, False, True, True]) tensor([ 8, 10, 6]) tensor([ 8, 10, 6])
코드 줄무슨 뜻
condition = x >= 6원소마다 6 이상인지 검사해 True/False 한 줄을 만들어요 (3 → False, 8 → True, 1 → False, 10 → True, 6 → True)
x[condition]True인 자리의 값만 모아요 → 8, 10, 6 (원래 순서 그대로)
x[x >= 6]위 두 줄을 한 줄로 쓴 것

2차원에서 써도 결과는 1차원으로 펴져서 나와요. 예를 들어 1~12가 든 3×4 표에서 x[x > 5]는 6, 7, 8, 9, 10, 11, 12(7개)가 순서대로 나와요.

시험엔 이렇게 써요 — 이렇게 고르세요

Boolean indexing은 조건식이 만든 True/False Tensor로 True인 위치의 값만 선택하는 방법이다. 조건을 원소마다 적용해서 "통과한 값만 순서대로 나열"하면 결과가 돼요.

잠깐 확인 — x = tensor([5, 2, 9, 4])에서 x[x > 4]는?

tensor([5, 9])예요. 4보다 큰 5와 9만 남아요(4는 4보다 크지 않아서 빠져요).

다음 카드 → 모양 바꾸기 — reshape와 view ★★

자료: 2주차 · Week02_Tensor_and_GPU(pdf, 풀이포함 ipynb) · 빅분02(2주차) 녹취