Numpy 서열의 Advanced Indexing은 모른다는 것을 모른다. ([], compare, condition, 조건식, fancy indexing )

목적



Keras 관련 파이썬 코드로,
numpy 배열의 다음과 같은 처리가 있으며,
test_xxx_prediction[test_xxx_prediction >= 0.5] = 1

※test_xxx_prediction은 numpy 배열

numpy의 "fancy indexing"이라는 것도 몰랐기 때문에,
조사에 힘들었다.
도둑식으로 조사하면
numpy 배열은 상당히 다양한 일을 할 수 있음을 알았기 때문에 정보 공유.

 np.array[조건식]
 np.array[condition]
 
정도로 검색했지만 잘 걸리지 않았다.

Advanced Indexing



이하 등, 잘 알 수 있는 것은?

Advanced Indexing 예제



numpy 배열에서는 다음과 같은 처리가 가능하다.
익숙하지 않으면 곳곳에 왜 알 수 없는 곳이 있을지도.

>>> a = np.array([0.01, 0.62, 3.55, 0.21, 0.91, 0.0, 3.2, 0.33, 0.45, 0.99])
>>> a
array([0.01, 0.62, 3.55, 0.21, 0.91, 0.  , 3.2 , 0.33, 0.45, 0.99])
>>> a[a < 0.5] = 1.0
>>> a
array([1.  , 0.62, 3.55, 1.  , 0.91, 1.  , 3.2 , 1.  , 1.  , 0.99])
>>>



>>> b = np.array([1, 2, 4, 6, 9])
>>> a[b]
array([0.62, 3.55, 0.91, 3.2 , 0.99])
>>>
>>>


numpy 배열이 아니라 목록에서는 당연히 할 수 없습니다.

>>> aaa = [0.01, 0.62, 3.55, 0.21, 0.91, 0.0, 3.2, 0.33, 0.45, 0.99]
>>> aaa
[0.01, 0.62, 3.55, 0.21, 0.91, 0.0, 3.2, 0.33, 0.45, 0.99]
>>> aaa[aaa < 0.5] = 1.0
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: '<' not supported between instances of 'list' and 'float'
>>> bbb = [1, 2, 4, 6, 9]
>>> aaa[bbb]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: list indices must be integers or slices, not list
>>>




요약



조사하는 데 시간이 걸렸기 때문에 기사에.

관련(본인)



파이썬을 스트레스없이 사용하십시오! (결국 docs.python.org의 reference가 납득감이 높은 생각이,,,)
파이썬을 스트레스없이 사용하십시오! (generator에 자세해진다. since1975인것 같다.)
파이썬을 스트레스없이 사용하십시오! (Python에서는 모든 것이 객체로 구현되었습니다)
파이썬을 스트레스없이 사용하십시오! (Pylint에 붙어있다)
파이썬을 스트레스없이 사용하십시오! (Expression 및 Statement)
영어와 일본어를 모두 사용하여 파이썬을 정중하게 배우십시오.

미래



코멘트 등 있으면 부탁드립니다.
공부합니다,,,,

좋은 웹페이지 즐겨찾기