numpy 중 벡터 식 3 목 연산 자 에 대한 상세 한 설명
numpy 에 이 세 가지 연산 의 벡터 버 전이 있 습 니 다 numpy.where.where 방법 은 세 개의 파 라 메 터 를 받 을 수 있 고 첫 번 째 파 라 메 터 는 조건 벡터 이 며 두 번 째,세 번 째 파 라 메 터 는 행렬 일 수도 있 고 스칼라 일 수도 있다.다음은 해당 기능 의 순 Python 기능 실현 과 벡터 방식 실현 을 해 보 겠 습 니 다.
기록 은 다음 과 같 습 니 다.
In [76]: xarr = np.array([1.1,1.2,1.3,1.4,1.5])
In [77]: yarr = xarr + 1
In [78]: xarr
Out[78]: array([ 1.1, 1.2, 1.3, 1.4, 1.5])
In [79]: yarr
Out[79]: array([ 2.1, 2.2, 2.3, 2.4, 2.5])
In [80]: cond = np.array([True,False,True,True,False])
In [81]: cond
Out[81]: array([ True, False, True, True, False], dtype=bool)
In [82]: result1 = [(x if c else y) for x,y,c in zip(xarr,yarr,cond)]
In [83]: result1
Out[83]: [1.1000000000000001, 2.2000000000000002, 1.3, 1.3999999999999999, 2.5]
In [84]: result2 = np.where(cond,xarr,yarr)
In [85]: result2
Out[85]: array([ 1.1, 2.2, 1.3, 1.4, 2.5])
부동 소수점 표시 에 있어 서 두 가 지 는 약간의 차이 가 있 고 소수점 뒤에 여러 자리 가 있 으 며 보통 수치 표시 에 있어 서 무시 할 수 있다.그러나 여기 서 두 결과 의 일치 성 판단 을 해 야 한다.왜냐하면 이전에 도 Python 이 부동 소수점 표현 에서 기계 로 인해 발생 하 는 차 이 를 본 적 이 있 기 때문이다.테스트 결 과 는 다음 과 같다.
In [87]: result1 == result2
Out[87]: array([ True, True, True, True, True], dtype=bool)
위의 결 과 를 통 해 알 수 있 듯 이 두 계산 결 과 는 일치한다.이상 의 이 numpy 에서 벡터 식 세 가지 연산 자 에 대한 상세 한 설명 은 바로 편집장 이 여러분 에 게 공유 한 모든 내용 입 니 다.여러분 에 게 참고 가 되 고 여러분 들 이 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
chainer의 connection을 괴롭히고 새로운 층을 만든다 (1)GPU GTX1070 우분투 14.04 chainer 1.14.0 chainer에서 최신 모델을 구현할 때는 links/connection이나 functions/connection을 괴롭힐 필요가 있다. 그래서 가장...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.