2012-02-21 9 views
8

He estado trabajando con numpy y necesitaba la función random.choice(). Lamentablemente, en la versión 2.0 no está en los módulos random o random.mtrand.RandomState. Ha sido excluido por una razón en particular? ¡No hay nada en la discusión o documentación al respecto!¿Por qué se ha interrumpido la función numpy random.choice()?

Para obtener información, estoy ejecutando Numpy 2.0 en python 2.7 en mac os. Todos instalados a partir de los instaladores estándar proporcionados en los sitios.

Gracias!

+2

Mi primera conjetura es que no se ha descontinuado, pero que no se ha instalado Numpy correctamente. Los documentos dicen nuevo para numpy 1.7.0, ¿tiene al menos esa versión instalada? –

+0

Tengo instalada la versión 2.0, así que lo verifiqué, lo siento por no haber mencionado la pregunta original. Además, por lo que he encontrado en el documento, random.choice no te permite especificar los pesos, y elegir un elemento aleatorio uniformemente es bastante sencillo. También es bastante sencillo con pesas, solo pensé que sería interesante tenerlo nuble. Lo implementé yo mismo luego: http://pastebin.com/wpQ08xqV –

+3

No existe nada parecido a Numpy 2.0 en este momento. Ha instalado una revisión desconocida de las fuentes de desarrollo que aparece como una lista como 2.0. Probablemente haya recibido una revisión antes de agregar 'choice()'. –

Respuesta

8

random.choice es por lo que puedo decir parte de python en sí, no de numpy. ¿Sabías que import random?

Actualización: numpy 1.7 agregó una nueva función, numpy.random.choice. Obviamente, necesitas numpy 1.7 para eso.

Update2: parece que en inédito numpy 2.0, esto se llamó temporalmente numpy.random.sample. Ha sido renombrado de nuevo. Por eso, cuando se usan las versiones inéditas, realmente debería echar un vistazo a la API (pydoc numpy.random) y los registros de cambios.

+2

Python y numpy tienen una función random.choice(). –

+0

random.choice() elige uniformemente, y no puedo encontrar numpy.random.choice ni numpy.random.mtrand.RandomState.choice() en mi instalación de numpy 2.0. –

+0

Entonces tal vez deberías apegarte a la última versión. 2.0 aún no se ha completado. De todos modos, podrías probar 'numpy.random.sample' que aparentemente fue renombrado de nuevo a' numpy.random.choice' alguna vez en diciembre. –

Cuestiones relacionadas