1
문자열과 정수를 모두 포함하는 목록에서 np.random.choice를 사용하면 정수가 반환 될 때 문자열로 강제 변환됩니다. 이것은 의도 된 행동입니까?np.random.choice가 강요 당했습니까?
>>>numpy.random.choice([1,2,3,4]) 1
하지만
>>>numpy.random.choice(['a',1,2,3,4]) '1'
my_list[np.random.choice(range(len(my_list)))]
을 할 수있는 것 같아요,하지만 오히려 추한 것 같다.
'size> 1'을 지정하면 유니폼 배열을 반환해야하기 때문에 그것이 선택되기 전에 모든 것을 공통 유형으로 강제합니다. – Barmar
'numpy' 대신에'random.choice'를 쓰면 이런 일이 발생합니까? – Barmar
NumPy는 동일한 유형의 요소가있는 고정 배열로 작업하기를 원할 것이기 때문에 실제로 강제 변환을해야합니다. 그것이 존재하는 이유입니다. 일반적으로'numpy.random.choice'는 배열에서 작동하며, 그렇지 않으면 먼저 배열로 입력을 변환 한 다음 계속 진행합니다. 여기에 무슨 일이 일어나는가. – Evert