2012-02-21 14 views
8

私はnumpyで作業していて、random.choice()関数が必要でした。残念ながら、バージョン2.0では、randomまたはrandom.mtrand.RandomStateモジュールにはありません。特定の理由から除外されていますか?それについての議論やドキュメンテーションには何もありません!なぜnumpyのrandom.choice()関数は廃止されましたか?

私は、Mac OSでPython 2.7でNumpy 2.0を実行しています。すべてのサイトで提供される標準インストーラーからインストールされます。

ありがとうございます!

+2

私が最初に推測したのは、中断されていないが、正しくnumpyをインストールしていないということです。 Docsはnumpy 1.7.0の新機能ですが、少なくともそのバージョンはインストールされていますか? –

+0

バージョン2.0がインストールされているので、元の質問に言及しなかったのは残念です。また、私がdocで見つけたことから、random.choiceでは重みを指定することができず、ランダムな要素を一様に選択することはかなり簡単です。ウェイトもかなり単純ですが、ちょうどそれが気分が悪くて面白いかもしれないと思っただけです。私はそれ自身を実装しました:http://pastebin.com/wpQ08xqV –

+3

この時点でnumpy 2.0はありません。開発ソースの未知のリビジョンをインストールしましたが、これは2.0と表示されます。 'choice()'が追加される前に、おそらくリビジョンがあります。 –

答えて

8

random.choiceまでは、私がFirefoxの一部であることが分かりましたが、numpyではありません。 import randomでしたか?

更新:numpy 1.7は新しい機能、numpy.random.choiceを追加しました。明らかに、あなたはそれのためにnumpy 1.7が必要です。

アップデート2:それは未発表 numpyの2.0で、これは一時的にnumpy.random.sampleと呼ばれていたようです。それは戻って名前が変更されました。だから、未リリースのバージョンを使用している場合は、実際にはAPI(pydoc numpy.random)とチェンジログを参照する必要があります。

+2

Pythonとnumpyはどちらもrandom.choice()関数を持っています。 –

+0

random.choice()は一様に選択し、numpy.random.choiceもnumpy.random.mtrand.RandomState.choice()をnumpy 2.0のインストールで見つけることができません。 –

+0

次に、最新のリリースに固執してください。 2.0はまだ完成していません。とにかく、 'numpy.random.sample'を試してみるといいでしょう。12月に' numpy.random.choice'に改名されたようです。 –