reshape() no funciona en mi máquina
Francesc Altet
faltet en carabos.com
Vie Nov 17 17:02:40 CET 2006
A Divendres 17 Novembre 2006 15:00, Raziel escrigué:
> Probaré NumPy, a ver si sus funciones algebraicas soportan arrays de
> objetos. Las de Numeric me petan al pasarle un array de objetos, que
> representan enteros binarios. Intentaba que las operaciones se
> hicieran directamente en módulo 2 (con overload de operadores para que
> además de operar hallen el módulo 2), pero temía que la librería no se
> lo tomase bien, y Numeric no lo hace. Podría utilizar arrays de
> enteros, pero no sé si funcionaría bien hallar determinantes e
> inversas de matrices de enteros y después hallar el módulo 2 de todos
> sus elementos.
No tengo experiencia en esto que quieres hacer, pero por probar con
NumPy no pierdes nada.
>
> La pega de NumPy es que necesito la librería para unas prácticas de la
> carrera, y en los ordenadores en los que tengo que ejecutarla no está
> instalada NumPy, pero veré si puedo poner los archivos que me hacen
> falta junto con mi código fuente (instalarla en local no es una
> opción, porque el profesor que evalua la práctica utilizará una cuenta
> de usuario diferente a la mía)
>
> Básicamente necesitaba las funciones de operaciones básicas en arrays
> (como reshape) y funciones algebráicas (para calcular determinantes e
> inversas de matrices), ¿álguien tiene idea de qué ficheros de la
> librería tendría que poner junto a mi código?
Siento decirte que eso no funcionará. NumPy no es directamente
compatible con Numeric y por tanto no se puede hacer, a priori
(aunque estoy seguro que muchos módulos deben funcionar sin necesidad
de cambio), un 'mix' entre librerias de Numeric y NumPy.
Dicho esto, NumPy tiene un módulo de compatibilidad con Numeric
llamado oldnumeric. Éste te permitirá hacer la mayoria de cosas de
Numeric desde NumPy pero usando la API de Numeric (sin embargo, ambas
API son muy parecidas). Por ejemplo:
In [74]: from numpy import oldnumeric
In [75]: a = oldnumeric.array([1,2,3,4,5,6])
In [76]: oldnumeric.reshape(a, (3,2))
Out[76]:
array([[1, 2],
[3, 4],
[5, 6]])
Así que usando este módulo, puedes hacer tus ejercicios con NumPy en
tu máquina de 64 bits, pero usando la API de Numeric. Después, para
entregar el ejercicio, en lugar de:
from numpy.oldnumeric import *
pones:
from Numeric import *
y todo deberia funcionar bien (si es que la emulación es buena, por
supuesto).
Espero que ayude,
--
>0,0< Francesc Altet http://www.carabos.com/
V V Cárabos Coop. V. Enjoy Data
"-"
------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es
Más información sobre la lista de distribución Python-es