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