비트 AND 연산자를 사용할 수 있습니다 &
. 아래를 보자 :
x = [1, 2, 3, 4, 5, 6, 7]
y = [i for i in x if i&1]
>>>
[1, 3, 5, 7]
비트 AND 연산자는 1과 함께 사용되며, 그 이유는 바이너리로 쓰여진 홀수는 첫 번째 숫자가 1이어야하기 때문입니다.
23 = 1 * (2**4) + 0 * (2**3) + 1 * (2**2) + 1 * (2**1) + 1 * (2**0) = 10111
14 = 1 * (2**3) + 1 * (2**2) + 1 * (2**1) + 0 * (2**0) = 1110
1을 사용한 AND 연산은 값이 홀수 인 경우 1 만 반환합니다 (2 진수의 1도 마지막 숫자 1을 가짐).
자세한 내용은 Python Bitwise Operator 페이지를 확인하세요 .
추신 : 데이터 프레임에서 홀수 및 짝수 열을 선택하려는 경우이 방법을 전술적으로 사용할 수 있습니다. 얼굴 키 포인트의 x 및 y 좌표가 x1, y1, x2 등의 열로 주어 졌다고 가정 해 봅시다. x 및 y 좌표를 각 이미지의 너비 및 높이 값으로 정규화하려면 간단히 수행 할 수 있습니다.
for i in range(df.shape[1]):
if i&1:
df.iloc[:, i] /= heights
else:
df.iloc[:, i] /= widths
이것은 질문과 정확히 관련이 없지만 데이터 과학자 및 컴퓨터 비전 엔지니어에게는이 방법이 유용 할 수 있습니다.
건배!