eficiencia de numpy.array

Chema Cortes pych3m4 en gmail.com
Jue Mar 8 15:16:02 CET 2007


El 8/03/07, tny <a.porrua en gmail.com> escribió:

> Pues tengo entre manos muchas operaciones matemáticas, y con listas de
> un buen tamaño, pero no son operaciones como sum que pueda realizar la
> propia lista, y la memoria que ocupe no es, en este caso, importante así
> que me voy a decantar por las listas de python.

Resulta extraño que preguntes sobre "eficiencia", para que luego digas
que no vas a tener problemas con lo que ocupe la lista :-P

De todos modos, el numpy está pensado por y para matemáticos. Aunque
no sea por "efectividad", deberías mirarlo desde el punto de vista
matemático. Los arrays del numpy aceptan tuplas como índices
multidimensionales, así como el rebanado "extendido" ("extended
slice").

Como ejemplo del primer caso (índices multidimensionales), una forma
rápida de obtener todos los elementos de un array mayores de 100:

a[a>100]

(con 'a>100' se obtiene un array de booleanos)

Como ejemplo de slicing extendiddo, si tienes una matriz
n-dimensional, sumar una columna a otra sería:

a[...,i]+=a[...,j]


Pero hay mucho más, como el cálculo matricial, FFT, LinearAlgebra,...




Más información sobre la lista de distribución Python-es