Vous êtes sur la page 1sur 107

25/10/2017 Gua rpida NumPy

TUTORIALES Espaol
w3ii.com (/es/index.html)
Foro (http://www.w3iz.com) | Los ltimos tutoriales de desarrollo web

Gua rpida NumPy


Anterior (numpy_with_io.html)

Siguiente Captulo (numpy_useful_resources.html)

NumPy - Introduccin
NumPy es un paquete de Python. Es sinnimo de 'Numerical Python'.
Es una biblioteca que consiste en objetos matriz multidimensional y
una coleccin de rutinas para el procesamiento de matriz.

Numeric , el antepasado de NumPy, fue desarrollado por Jim


Hugunin. Otro paquete numarray tambin se desarroll, con algunas
funcionalidades adicionales. En 2005, Travis Oliphant creado paquete
NumPy incorporando las caractersticas de numarray en el paquete
numrico. Hay muchos colaboradores de este proyecto de cdigo
abierto.

Operaciones utilizando NumPy


Usando NumPy, un desarrollador puede realizar las siguientes
operaciones -

Las operaciones matemticas y lgicas en matrices.

transformadas de Fourier y las rutinas de manipulacin de la


forma.

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 1/107
25/10/2017 Gua rpida NumPy

Operaciones relacionadas con el lgebra lineal. NumPy ha


TUTORIALES Espaol
construido en funciones-para el lgebra lineal y generacin de
nmeros aleatorios.

NumPy - Un reemplazo para MATLAB


NumPy se utiliza a menudo junto con paquetes como SciPy
(Scientific Python) y Matplotlib (plotting library) . Esta
combinacin se utiliza ampliamente como un reemplazo para MATLAB,
una plataforma popular para la computacin tcnica. Sin embargo,
Python alternativa a MATLAB es visto ahora como un lenguaje de
programacin ms moderno y completo.

Es de cdigo abierto, que es una ventaja aadida de NumPy.

NumPy - Medio Ambiente


Intntelo opcin en lnea
Hemos establecido el entorno de programacin NumPy
en lnea, de modo que se puede compilar y ejecutar
todos los ejemplos disponibles en lnea. Se le da
confianza en lo que est leyendo y le permite verificar
los programas con diferentes opciones. Sintase libre
de modificar ningn ejemplo y ejecutarlo en lnea.

El siguiente ejemplo muestra el uso de nuestro


compilador de lnea disponible en CodingGround

import numpy as np
a = 'hello world'
print a

Para la mayora de los ejemplos dados en este tutorial,


encontrar una opcin Prubalo en nuestras secciones
de cdigo web en la esquina superior derecha que le
llevar al compilador en lnea. As que simplemente
hacer uso de ella y disfrutar de su aprendizaje.

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 2/107
25/10/2017 Gua rpida NumPy

distribucin estndar de Python no viene incluido con el mdulo


TUTORIALES Espaol
NumPy. Una alternativa ligera es instalar NumPy usando populares
instalador de paquetes Python, pip .

pip install numpy

La mejor manera de permitir NumPy es utilizar un paquete binario


instalable especfico para su sistema operativo. Estos binarios
contienen pila SciPy completo (inclusive of NumPy, SciPy, matplotlib,
IPython, SymPy and nose packages along with core Python) .

ventanas
Anaconda (from www.continuum.io
(http://www.continuum.io/index.html) ) es una distribucin de Python
libre para pila SciPy. Tambin est disponible para Linux y Mac.

Dosel ( www.enthought.com/products/canopy/
(http://www.enthought.com/products/canopy/index.html) ) est
disponible como la distribucin comercial con la pila SciPy completo
para Windows, Linux y Mac gratis, as como.

Python (x,y) : Es una distribucin de Python libre con la pila SciPy y


Spyder IDE para el sistema operativo Windows. (Downloadable from
www.python-xy.github.io/ (http://python-xy.github.io) )

Linux
Los gestores de paquetes de las respectivas distribuciones de Linux se
utilizan para instalar uno o ms paquetes en la pila SciPy.

para Ubuntu
sudo apt-get install python-numpy
python-scipy python-matplotlibipythonipythonnotebook python-pand
python-sympy python-nose

para Fedora

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 3/107
25/10/2017 Gua rpida NumPy

TUTORIALES
sudo yum install numpyscipy python-matplotlibipython Espaol
python-pandas sympy python-nose atlas-devel

La construccin de la Fuente
Core Python (2.6.x, 2.7.x and 3.2.x onwards) se debe instalar con
distutils y mdulo zlib deben estar habilitadas.

GNU gcc (4.2 and above) compilador C deben estar disponibles.

Para instalar NumPy, ejecute el siguiente comando.

Python setup.py install

Para probar si el mdulo NumPy se ha instalado correctamente,


intente importar desde el prompt de Python.

Si no est instalado, se mostrar el siguiente mensaje de error.

Traceback (most recent call last) :


File "<pyshell#0>", line 1, in <module>
import numpy
ImportError: No module named 'numpy'

Como alternativa, el paquete NumPy ha sido importada mediante la


siguiente sintaxis -

NumPy - Objeto Ndarray


El objeto ms importante se define en NumPy es un tipo de matriz N-
dimensional llamado ndarray . En l se describe la coleccin de
elementos del mismo tipo. Los productos de la coleccin se puede
acceder mediante un ndice basado en cero.

Cada elemento de una ndarray tiene el mismo tamao de bloque en la


memoria. Cada elemento de ndarray es un objeto de objeto de tipo de
datos (called dtype ) .

Cualquier artculo extrado de objeto ndarray (by slicing) est


representada por un objeto de Python de uno de los tipos escalares de
matriz. El siguiente diagrama muestra una relacin entre ndarray, el
tipo de datos de objeto (dtype) y matriz de tipo escalar -

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 4/107
25/10/2017 Gua rpida NumPy

TUTORIALES Espaol

Una instancia de la clase ndarray puede ser construido por diferentes


rutinas de creacin de la matriz que se describen ms adelante en el
tutorial. El ndarray bsica se crea utilizando una funcin de matriz en
NumPy como sigue -

numpy.array

Se crea una ndarray de cualquier exposicin de objeto de interfaz de


matriz, o de cualquier mtodo que devuelve una matriz.

numpy.array(object, dtype = None, copy = True, order = None, sub

El constructor anterior tiene los siguientes parmetros -

S.No Parmetro y Descripcin

1. object

Cualquier objeto exponer el mtodo de interfaz array


devuelve una matriz, o cualquier (nested) de secuencia.

2. dtype

Deseado tipo de datos de matriz, opcional

3. copy

Opcional. Por defecto (true) , el objeto se copia

4. order

C (row major) o F (column major) o A (any)


(predeterminado)

5. subok

Por defecto, matriz devuelta obligado a ser una matriz clase


base. Si es verdad, subclases pasaron a travs

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 5/107
25/10/2017 Gua rpida NumPy

6. ndimin TUTORIALES Espaol

Especifica dimensiones mnimas de matriz resultante

Echar un vistazo a los siguientes ejemplos para entender mejor.

Ejemplo 1
import numpy as np
a = np.array([1,2,3])
print a

La salida es la siguiente -

[1, 2, 3]

Ejemplo 2
# more than one dimensions
import numpy as np
a = np.array([[1, 2], [3, 4]])
print a

La salida es la siguiente -

[[1, 2]
[3, 4]]

Ejemplo 3
# minimum dimensions
import numpy as np
a = np.array([1, 2, 3,4,5], ndmin = 2)
print a

La salida es la siguiente -

[[1, 2, 3, 4, 5]]

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 6/107
25/10/2017 Gua rpida NumPy

Ejemplo 4 TUTORIALES Espaol

# dtype parameter
import numpy as np
a = np.array([1, 2, 3], dtype = complex)
print a

La salida es la siguiente -

[ 1.+0.j, 2.+0.j, 3.+0.j]

El ndarray objeto consiste en segmento unidimensional


contigua de la memoria del ordenador, en combinacin con un
sistema de indexacin que mapea cada elemento a una
ubicacin en el bloque de memoria. El bloque de memoria tiene los
elementos en un orden de las filas (C style) o una orden de la
columna-major (FORTRAN or MatLab style) .

Tipos de datos - NumPy


NumPy es compatible con una variedad mucho mayor de tipos
numricos que Python hace. La siguiente tabla muestra los diferentes
tipos de datos escalar definido en NumPy.

S.No Tipos de datos y descripcin

1. bool_

Booleano (True or False) se almacena como un byte

2. int_

Tipo entero predeterminado (same as C long; normally


either int64 or int32)

3. intc

Idntica a C int (normally int32 or int64)

4. intp

Entero utilizado para la indexacin (same as C ssize_t;


normally either int32 or int64)

5. int8

Byte (-128 to 127)

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 7/107
25/10/2017 Gua rpida NumPy

6. int16 TUTORIALES Espaol


Entero (-32768 to 32767)

7. int32

Entero (-2147483648 to 2147483647)

8. int64

Entero (-9223372036854775808 to
9223372036854775807)

9. uint8

Nmero entero sin signo (0 to 255)

10. uint16

Nmero entero sin signo (0 to 65535)

11. uint32

Nmero entero sin signo (0 to 4294967295)

12. uint64

Nmero entero sin signo (0 to 18446744073709551615)

13. float_

Abreviatura de float64

14. float16

La mitad de flotador de precisin: bit de signo,


exponente de 5 bits, 10 bits de mantisa

15. float32

Solo flotador de precisin: bit de signo, exponente de 8


bits, 23 bits de mantisa

diecisis. float64

Flotador doble precisin: bit de signo, exponente de 11


bits, 52 bits de mantisa

17. complex_

Abreviatura de complex128

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 8/107
25/10/2017 Gua rpida NumPy

18. complex64 TUTORIALES Espaol

Nmero complejo, representada por dos flotadores 32


bits (real and imaginary components)

19. complex128

Nmero complejo, representada por dos flotadores 64


bits (real and imaginary components)

NumPy tipos numricos son instancias de dtype (data-type) objetos,


cada uno con caractersticas nicas. Los dtypes estn disponibles
como np.bool_, np.float32, etc.

Objetos de tipo de datos (dtype)


Un objeto de tipo de datos describe interpretacin de bloque fijo de
memoria correspondiente a una matriz, en funcin de los siguientes
aspectos -

Tipo de datos (integer, float or Python object)

Tamao de los datos

Orden de bytes (little-endian or big-endian)

En el caso de tipo estructurado, los nombres de los campos, tipo


de datos de cada campo y parte del bloque de memoria tomada
por cada campo.

Si el tipo de datos es un subconjunto, su forma y tipo de datos

El orden de bytes se decide mediante un prefijo '<' o '>' al tipo de


datos. '<' Significa que la codificacin es poco-endian (least significant
is stored in smallest address) . '>' Significa que la codificacin es big-
endian (most significant byte is stored in smallest address) .

Un objeto dtype se construye usando la siguiente sintaxis -

numpy.dtype(object, align, copy)

Los parmetros son -

Object - Para ser convertido en el tipo de datos de objeto

Align - Si es verdad, aade relleno para el campo para que


sea similar a C-struct

Copy - hace una nueva copia de dtype objeto. Si es falso, el


resultado es referencia al objeto tipo de datos interno

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 9/107
25/10/2017 Gua rpida NumPy

Ejemplo 1 TUTORIALES Espaol

# using array-scalar type


import numpy as np
dt = np.dtype(np.int32)
print dt

La salida es la siguiente -

int32

Ejemplo 2
#int8, int16, int32, int64 can be replaced by equivalent string
import numpy as np

dt = np.dtype('i4')
print dt

La salida es la siguiente -

int32

Ejemplo 3
# using endian notation
import numpy as np
dt = np.dtype('>i4')
print dt

La salida es la siguiente -

>i4

Los siguientes ejemplos muestran el uso de tipo de datos


estructurado. En este caso, el nombre del campo y el correspondiente
tipo de datos escalares se desea declarar.

Ejemplo 4
# first create structured data type
import numpy as np
dt = np.dtype([('age',np.int8) ])
print dt

La salida es la siguiente -

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 10/107
25/10/2017 Gua rpida NumPy

[('age', 'i1') ] TUTORIALES Espaol

Ejemplo 5
# now apply it to ndarray object
import numpy as np

dt = np.dtype([('age',np.int8) ])
a = np.array([(10,) ,(20,),(30,)], dtype = dt)
print a

La salida es la siguiente -

[(10,) (20,) (30,) ]

Ejemplo 6
# file name can be used to access content of age column
import numpy as np

dt = np.dtype([('age',np.int8) ])
a = np.array([(10,) ,(20,),(30,)], dtype = dt)
print a['age']

La salida es la siguiente -

[10 20 30]

Ejemplo 7
Los siguientes ejemplos definen un tipo de datos estructurado
denominado student con un campo de cadena 'nombre', un
integer field 'edad' y un float field 'marcas'. Este dtype se aplica a
ndarray objeto.

import numpy as np
student = np.dtype([('name','S20') , ('age', 'i1') , ('marks', '
print student

La salida es la siguiente -

[('name', 'S20') , ('age', 'i1') , ('marks', '<f4') ])

Ejemplo 8

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 11/107
25/10/2017 Gua rpida NumPy

import numpy as np TUTORIALES Espaol

student = np.dtype([('name','S20') , ('age', 'i1') , ('marks', '


a = np.array([('abc', 21, 50) ,('xyz', 18, 75)], dtype = student
print a

La salida es la siguiente -

[('abc', 21, 50.0) , ('xyz', 18, 75.0) ]

Cada tipo de datos incorporado tiene un cdigo de caracteres que


identifica de manera nica.

'b' - boolean

'i' - (signed) nmero entero

'u' - entero sin signo

'f' - en coma flotante

'c' - punto flotante compleja

'm' - timedelta

'M' - fecha y hora

'O' - (Python) objetos

'S', 'a' - (byte-) de cadena

'U' - Unicode

'V' - datos en bruto (void)

NumPy - arsenal Atributos


En este captulo, vamos a discutir los diversos atributos de la matriz
de NumPy.

ndarray.shape
Este atributo array devuelve una tupla que consiste en dimensiones de
matriz. Tambin se puede utilizar para cambiar el tamao de la matriz.

Ejemplo 1

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 12/107
25/10/2017 Gua rpida NumPy

import numpy as np TUTORIALES Espaol


a = np.array([[1,2,3],[4,5,6]])
print a.shape

La salida es la siguiente -

(2, 3)

Ejemplo 2
# this resizes the ndarray
import numpy as np

a = np.array([[1,2,3],[4,5,6]])
a.shape = (3,2)
print a

La salida es la siguiente -

[[1, 2]
[3, 4]
[5, 6]]

Ejemplo 3
NumPy tambin proporciona una funcin de cambio de forma para
cambiar el tamao de una matriz.

import numpy as np
a = np.array([[1,2,3],[4,5,6]])
b = a.reshape(3,2)
print b

La salida es la siguiente -

[[1, 2]
[3, 4]
[5, 6]]

ndarray.ndim
Este atributo array devuelve el nmero de dimensiones de matriz.

Ejemplo 1

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 13/107
25/10/2017 Gua rpida NumPy

TUTORIALES
# an array of evenly spaced numbers Espaol
import numpy as np
a = np.arange(24)
print a

La salida es la siguiente -

[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1

Ejemplo 2
# this is one dimensional array
import numpy as np
a = np.arange(24)
a.ndim

# now reshape it
b = a.reshape(2,4,3)
print b
# b is having three dimensions

La salida es la siguiente -

[[[ 0, 1, 2]
[ 3, 4, 5]
[ 6, 7, 8]
[ 9, 10, 11]]
[[12, 13, 14]
[15, 16, 17]
[18, 19, 20]
[21, 22, 23]]]

numpy.itemsize
Este atributo array devuelve la longitud de cada elemento de matriz en
bytes.

Ejemplo 1
# dtype of array is int8 (1 byte)
import numpy as np
x = np.array([1,2,3,4,5], dtype = np.int8)
print x.itemsize

La salida es la siguiente -

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 14/107
25/10/2017 Gua rpida NumPy

1 TUTORIALES Espaol

Ejemplo 2
# dtype of array is now float32 (4 bytes)
import numpy as np
x = np.array([1,2,3,4,5], dtype = np.float32)
print x.itemsize

La salida es la siguiente -

numpy.flags
El objeto ndarray tiene los following atributos. Sus valores actuales
son devueltos por esta funcin.

S.No Atributo y Descripcin

1. C_CONTIGUOUS (C)

Los datos estn en una nica, segmento contiguo de estilo C

2. F_CONTIGUOUS (F)

Los datos estn en una nica, segmento contiguo de estilo


Fortran

3. OWNDATA (O)

La matriz posee la memoria que utiliza o toma prestado


desde otro objeto

4. WRITEABLE (W)

El rea de datos se puede escribir. Al establecer este a


bloqueos falsos los datos, por lo que es de slo lectura

5. ALIGNED (A)

Los datos y todos los elementos estn alineados


apropiadamente para el hardware

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 15/107
25/10/2017 Gua rpida NumPy

6. UPDATEIFCOPY (U) TUTORIALES Espaol


Esta matriz es una copia de algn otro arreglo. Cuando se
desasigna esta matriz, la matriz de base se actualiza con el
contenido de esta matriz

Ejemplo
El siguiente ejemplo muestra los valores actuales de las banderas.

import numpy as np
x = np.array([1,2,3,4,5])
print x.flags

La salida es la siguiente -

C_CONTIGUOUS : True
F_CONTIGUOUS : True
OWNDATA : True
WRITEABLE : True
ALIGNED : True
UPDATEIFCOPY : False

NumPy - Rutinas de creacin de


matriz
Un nuevo ndarray objeto puede ser construido por cualquiera de
las siguientes rutinas de creacin de la matriz o el uso de un
constructor ndarray de bajo nivel.

numpy.empty
Se crea una matriz sin inicializar de forma especfica y dtype. Utiliza el
siguiente constructor -

numpy.empty(shape, dtype = float, order = 'C')

El constructor toma los siguientes parmetros.

S.No Parmetro y Descripcin

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 16/107
25/10/2017 Gua rpida NumPy

1. Shape TUTORIALES Espaol


Forma de una matriz vaca en int o tupla de int

2. Dtype

Deseada tipo de datos de salida. Opcional

3. Order

'C' para-estilo C matriz fila-mayor, 'F' para array columna-


major estilo FORTRAN

Ejemplo
El cdigo siguiente muestra un ejemplo de una matriz vaca.

import numpy as np
x = np.empty([3,2], dtype = int)
print x

La salida es la siguiente -

[[22649312 1701344351]
[1818321759 1885959276]
[16779776 156368896]]

Note - Los elementos de una matriz muestran valores


aleatorios, ya que no se inicializan.

numpy.zeros
Devuelve una nueva matriz de tamao especificado, llena de ceros.

numpy.zeros(shape, dtype = float, order = 'C')

El constructor toma los siguientes parmetros.

S.No Parmetro y Descripcin

1. Shape

Forma de una matriz vaca en int o secuencia de int

2. Dtype

Deseada tipo de datos de salida. Opcional

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 17/107
25/10/2017 Gua rpida NumPy

3. Order TUTORIALES Espaol


'C' para-estilo C matriz fila-mayor, 'F' para array columna-
major estilo FORTRAN

Ejemplo 1
# array of five zeros. Default dtype is float
import numpy as np
x = np.zeros(5)
print x

La salida es la siguiente -

[ 0. 0. 0. 0. 0.]

Ejemplo 2
import numpy as np
x = np.zeros((5,) , dtype = np.int)
print x

Ahora, la salida sera de la siguiente manera -

[0 0 0 0 0]

Ejemplo 3
# custom type
import numpy as np
x = np.zeros((2,2) , dtype = [('x', 'i4') , ('y', 'i4') ])
print x

Debe producir la siguiente salida -

[[(0,0) (0,0)]
[(0,0) (0,0)]]

numpy.ones
Devuelve una nueva matriz de tamao y tipo especificado, lleno
queridos.

numpy.ones(shape, dtype = None, order = 'C')

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 18/107
25/10/2017 Gua rpida NumPy

El constructor toma los siguientes parmetros.


TUTORIALES Espaol

S.No Parmetro y Descripcin

1. Shape

Forma de una matriz vaca en int o tupla de int

2. Dtype

Deseada tipo de datos de salida. Opcional

3. Order

'C' para-estilo C matriz fila-mayor, 'F' para array columna-


major estilo FORTRAN

Ejemplo 1
# array of five ones. Default dtype is float
import numpy as np
x = np.ones(5)
print x

La salida es la siguiente -

[ 1. 1. 1. 1. 1.]

Ejemplo 2
import numpy as np
x = np.ones([2,2], dtype = int)
print x

Ahora, la salida sera de la siguiente manera -

[[1 1]
[1 1]]

NumPy - arsenal partir de datos


existentes
En este captulo, vamos a discutir cmo crear una matriz a partir de
datos existentes.

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 19/107
25/10/2017 Gua rpida NumPy

TUTORIALES Espaol
numpy.asarray
Esta funcin es similar a numpy.array excepto por el hecho de que
tiene un menor nmero de parmetros. Esta rutina es til para la
conversin de secuencia Python en ndarray.

numpy.asarray(a, dtype = None, order = None)

El constructor toma los siguientes parmetros.

S.No Parmetro y Descripcin

1. a

Los datos de entrada en cualquier forma tal como la lista,


lista de tuplas, tuplas, tupla de tuplas o tupla de listas

2. dtype

Por defecto, el tipo de datos de los datos de entrada se


aplica a la ndarray resultante

3. order

C (row major) o F (column major) . C es por defecto

Los siguientes ejemplos muestran cmo se puede utilizar la asarray


funcin.

Ejemplo 1
# convert list to ndarray
import numpy as np

x = [1,2,3]
a = np.asarray(x)
print a

Su produccin sera de la siguiente manera -

[1 2 3]

Ejemplo 2

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 20/107
25/10/2017 Gua rpida NumPy

# dtype is set TUTORIALES Espaol


import numpy as np

x = [1,2,3]
a = np.asarray(x, dtype = float)
print a

Ahora, la salida sera de la siguiente manera -

[ 1. 2. 3.]

Ejemplo 3
# ndarray from tuple
import numpy as np

x = (1,2,3)
a = np.asarray(x)
print a

Su produccin sera -

[1 2 3]

Ejemplo 4
# ndarray from list of tuples
import numpy as np

x = [(1,2,3) ,(4,5)]
a = np.asarray(x)
print a

En este caso, la salida sera de la siguiente manera -

[(1, 2, 3) (4, 5)]

numpy.frombuffer
Esta funcin interpreta un tampn como matriz unidimensional.
Cualquier objeto que expone la interfaz tampn se utiliza como
parmetro para devolver un ndarray .

numpy.frombuffer(buffer, dtype = float, count = -1, offset = 0)

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 21/107
25/10/2017 Gua rpida NumPy

El constructor toma los siguientes parmetros.


TUTORIALES Espaol

S.No Parmetro y Descripcin

1. buffer

Cualquier objeto que expone interfaz tampn

2. dtype

Tipo de datos de ndarray devuelto. Por defecto para flotar

3. count

El nmero de artculos para leer, por defecto -1 significa que


todos los datos

4. offset

La posicin de inicio para leer. Por defecto es 0

Ejemplo
Los siguientes ejemplos demuestran el uso de frombuffer funcin.

import numpy as np
s = 'Hello World'
a = np.frombuffer(s, dtype = 'S1')
print a

Aqu est su salida -

['H' 'e' 'l' 'l' 'o' ' ' 'W' 'o' 'r' 'l' 'd']

numpy.fromiter
Esta funcin construye un ndarray objeto a partir de cualquier
objeto iterable. Una nueva matriz unidimensional es devuelto por
esta funcin.

numpy.fromiter(iterable, dtype, count = -1)

En este caso, el constructor toma los siguientes parmetros.

S.No Parmetro y Descripcin

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 22/107
25/10/2017 Gua rpida NumPy

1. iterable TUTORIALES Espaol


Cualquier objeto iterable

2. dtype

Tipo de datos de la matriz resultante

3. count

El nmero de artculos que se lee de iterador. El valor


predeterminado es -1, que significa todos los datos para ser
ledos

Los siguientes ejemplos muestran cmo utilizar el incorporado en la


range() funcin para devolver un objeto de lista. Un iterador de
esta lista se utiliza para formar una ndarray objeto.

Ejemplo 1
# create list object using range function
import numpy as np
list = range(5)
print list

Su salida es la siguiente -

[0, 1, 2, 3, 4]

Ejemplo 2
# obtain iterator object from list
import numpy as np
list = range(5)
it = iter(list)

# use iterator to create ndarray


x = np.fromiter(it, dtype = float)
print x

Ahora, la salida sera de la siguiente manera -

[0. 1. 2. 3. 4.]

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 23/107
25/10/2017 Gua rpida NumPy


NumPy - matriz a partir de
TUTORIALES Espaol

rangos numricos
En este captulo, veremos cmo crear un conjunto de rangos
numricos.

numpy.arange
Esta funcin devuelve un ndarray objeto que contiene los valores
de espaciados uniformemente dentro de un rango dado. El
formato de la funcin es la siguiente -

numpy.arange(start, stop, step, dtype)

El constructor toma los siguientes parmetros.

S.No Parmetro y Descripcin

1. start

El inicio de un intervalo. Si se omite, por defecto es 0

2. stop

El final de un intervalo (not including this number)

3. step

Espaciado entre los valores, por defecto es 1

4. dtype

tipo de datos del resultado ndarray. Si no se da, se utiliza el


tipo de datos de entrada

Los siguientes ejemplos muestran cmo se puede utilizar esta funcin.

Ejemplo 1
import numpy as np
x = np.arange(5)
print x

Su produccin sera de la siguiente manera -

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 24/107
25/10/2017 Gua rpida NumPy

[0 1 2 3 4] TUTORIALES Espaol

Ejemplo 2
import numpy as np
# dtype set
x = np.arange(5, dtype = float)
print x

En este caso, la salida sera -

[0. 1. 2. 3. 4.]

Ejemplo 3
# start and stop parameters set
import numpy as np
x = np.arange(10,20,2)
print x

Su salida es la siguiente -

[10 12 14 16 18]

numpy.linspace
Esta funcin es similar a arange() funcin. En esta funcin, en vez
de tamao de paso, se especifica el nmero de valores uniformemente
espaciados entre el intervalo. El uso de esta funcin es la siguiente -

numpy.linspace(start, stop, num, endpoint, retstep, dtype)

El constructor toma los siguientes parmetros.

S.No Parmetro y Descripcin

1. start

El valor inicial de la secuencia

2. stop

El valor final de la secuencia, incluida en la secuencia de si


punto final establece en true

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 25/107
25/10/2017 Gua rpida NumPy

3. num TUTORIALES Espaol

El nmero de muestras espaciadas uniformemente a ser


generado. Por defecto es 50

4. endpoint

El verdadero por defecto, por lo tanto, el valor de parada


est incluido en la secuencia. Si es falso, no se incluye

5. retstep

Si es verdad, devuelve las muestras y el paso entre los


nmeros consecutivos

6. dtype

Tipo de datos de salida ndarray

Los siguientes ejemplos demuestran el uso linspace funcin.

Ejemplo 1
import numpy as np
x = np.linspace(10,20,5)
print x

Su produccin sera -

[10. 12.5 15. 17.5 20.]

Ejemplo 2
# endpoint set to false
import numpy as np
x = np.linspace(10,20, 5, endpoint = False)
print x

La salida sera -

[10. 12. 14. 16. 18.]

Ejemplo 3

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 26/107
25/10/2017 Gua rpida NumPy

# find retstep value TUTORIALES Espaol


import numpy as np

x = np.linspace(1,2,5, retstep = True)


print x
# retstep here is 0.25

Ahora, la salida sera -

(array([ 1. , 1.25, 1.5 , 1.75, 2. ]) , 0.25)

numpy.logspace
Esta funcin devuelve un ndarray objeto que contiene los
nmeros que estn espaciados de manera uniforme en una
escala logartmica. Iniciar y detener los puntos finales de la escala
son ndices de la base, por lo general 10.

numpy.logscale(start, stop, num, endpoint, base, dtype)

Los siguientes parmetros determinan la salida de logspace funcin.



(/es/) S.No Parmetro y Descripcin

1. start
(/es/numpy/numpy_data_ty
de inicio
El punto de partida de la secuencia es de base
NumPy Array Atributos
(/es/numpy/numpy_array_a
2. stop
NumPy Rutinas de parada
El coste final de secuencia es de base
creacin de matrices
(/es/numpy/numpy_array_c
3. num
NumPy Array de datos
El nmero de valores entre la gama. Por defecto es 50
existentes
(/es/numpy/numpy_array_f 4. endpoint
Array de rangos Si es verdad, la parada es el ltimo valor en el rango
numricos
(/es/numpy/numpy_array_f 5. base
NumPy Indexacin & El Base del espacio de registro, por defecto es 10
rebanar
(/es/numpy/numpy_indexin 6. dtype
NumPy La indexacin Tipo de datos de matriz de salida. Si no se da, que depende
avanzada de otros argumentos de entrada
(/es/numpy/numpy_advanc
http://www.w3ii.com/es/numpy/numpy_quick_guide.html 27/107
25/10/2017
py py Gua rpida NumPy

Los siguientes ejemplos ayudarn a entender el logspace funcin.


NumPy Radiodifusin TUTORIALES Espaol

(/es/numpy/numpy_broadc Ejemplo 1
NumPy Iterando sobre la
matriz import numpy as np
# default base is 10
(/es/numpy/numpy_iteratin
a = np.logspace(1.0, 2.0, num = 10)
NumPy Manipulacin de print a
Array
(/es/numpy/numpy_array_m Su produccin sera de la siguiente manera -
NumPy Operadores [ 10. 12.91549665 16.68100537 21.5443469 27.
binarios 35.93813664 46.41588834 59.94842503 77.42636827
(/es/numpy/numpy_binary_
NumPy Funciones de
cadena
Ejemplo 2
(/es/numpy/numpy_string_
# set base of log space to 2
NumPy Funciones import numpy as np
Matemticas a = np.logspace(1,10,num = 10, base = 2)
(/es/numpy/numpy_mathem print a
NumPy Operaciones Ahora, la salida sera -
aritmeticas
[ 2. 4. 8. 16. 32. 64. 128. 256. 512.

NumPy - Indexacin y rebanar


Contenido del objeto ndarray pueden ser consultados y modificados
por la indexacin o el corte, al igual que los objetos contenedor
incorporado de Python.

Como se mencion anteriormente, los elementos de objeto ndarray


sigue ndice de base cero. Hay tres tipos de mtodos de indexacin
estn disponibles - field access, basic slicing y advanced indexing
.

rebanar bsica es una extensin del concepto bsico de cortar a n


dimensiones de Python. Un objeto de divisin Python se construye
dando start, stop y step parmetros a la incorporada en slice
funcin. Este objeto de divisin se pasa a la matriz para extraer una
parte del array.

Ejemplo 1
http://www.w3ii.com/es/numpy/numpy_quick_guide.html 28/107
25/10/2017 Gua rpida NumPy

import numpy as np TUTORIALES Espaol


a = np.arange(10)
s = slice(2,7,2)
print a[s]

Su salida es la siguiente -

[2 4 6]

En el ejemplo anterior, un ndarray objeto se prepara arange()


funcin. A continuacin, un objeto de divisin se define con arranque,
parada, y el paso valora 2, 7 y 2, respectivamente. Cuando este
objeto de divisin se pasa a la ndarray, una parte de ella comenzando
con ndice 2 hasta 7 con un paso de 2 se corta.

El mismo resultado tambin puede obtenerse dando a los parmetros


de corte en lonchas separadas por dos puntos: (start:stop:step)
directamente a la ndarray objeto.

Ejemplo 2
import numpy as np
a = np.arange(10)
b = a[2:7:2]
print b

Aqu, vamos a obtener la misma salida -

[2 4 6]

Si se pone un solo parmetro, se devolver un solo elemento que


corresponde al ndice. Si una: se inserta delante de l, todos los
artculos de ese ndice en adelante sern extrados. Si dos parmetros
(with : between them) se utiliza, elementos entre los dos ndices (not
including the stop index) se cortan con el paso predeterminado.

Ejemplo 3
# slice single item
import numpy as np

a = np.arange(10)
b = a[5]
print b

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 29/107
25/10/2017 Gua rpida NumPy

Su salida es la siguiente -
TUTORIALES Espaol

Ejemplo 4
# slice items starting from index
import numpy as np
a = np.arange(10)
print a[2:]

Ahora, la salida sera -

[2 3 4 5 6 7 8 9]

Ejemplo 5
# slice items between indexes
import numpy as np
a = np.arange(10)
print a[2:5]

En este caso, la salida sera -

[2 3 4]

La descripcin anterior se aplica a multidimensional ndarray


tambin.

Ejemplo 6
import numpy as np
a = np.array([[1,2,3],[3,4,5],[4,5,6]])
print a

# slice items starting from index


print 'Now we will slice the array from the index a[1:]'
print a[1:]

La salida es la siguiente -

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 30/107
25/10/2017 Gua rpida NumPy

[[1 2 3] TUTORIALES Espaol


[3 4 5]
[4 5 6]]

Now we will slice the array from the index a[1:]


[[3 4 5]
[4 5 6]]

Rebanar tambin puede incluir puntos suspensivos () para hacer una


tupla seleccin de la misma longitud que la dimensin de una matriz.
Si se utiliza la elipsis en la posicin de la fila, se devolver un ndarray
que comprende los elementos en filas.

Ejemplo 7
# array to begin with
import numpy as np
a = np.array([[1,2,3],[3,4,5],[4,5,6]])

print 'Our array is:'


print a
print '\n'

# this returns array of items in the second column


print 'The items in the second column are:'
print a[...,1]
print '\n'

# Now we will slice all items from the second row


print 'The items in the second row are:'
print a[1,...]
print '\n'

# Now we will slice all items from column 1 onwards


print 'The items column 1 onwards are:'
print a[...,1:]

La salida de este programa es el siguiente -

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 31/107
25/10/2017 Gua rpida NumPy

Our array is: TUTORIALES Espaol


[[1 2 3]
[3 4 5]
[4 5 6]]

The items in the second column are:


[2 4 5]

The items in the second row are:


[3 4 5]

The items column 1 onwards are:


[[2 3]
[4 5]
[5 6]]

NumPy - Indexacin avanzada


Es posible hacer una seleccin de ndarray que es una secuencia no-
tupla, objeto ndarray de nmero entero o tipo de datos Boolean, o una
tupla con al menos un elemento de ser un objeto de secuencia.
indexacin avanzada siempre devuelve una copia de los datos. En
contraste con esto, el corte en rodajas solamente presenta una visin.

Hay dos tipos de indexacin avanzada - Integer y Boolean .

Indexacin nmero entero


Este mecanismo ayuda en la seleccin de cualquier elemento arbitrario
en una matriz sobre la base de su ndice de Ndimensional. Cada matriz
entero representa el nmero de ndices en esa dimensin. Cuando el
ndice consiste en tantas matrices de enteros como las dimensiones de
la ndarray objetivo, se vuelve sencillo.

En el siguiente ejemplo, se selecciona un elemento de la columna


especificada de cada fila de objeto ndarray. Por lo tanto, el ndice de
fila contiene todos los nmeros de fila, y el ndice de columna
especifica el elemento a seleccionar.

Ejemplo 1

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 32/107
25/10/2017 Gua rpida NumPy

import numpy as np TUTORIALES Espaol

x = np.array([[1, 2], [3, 4], [5, 6]])


y = x[[0,1,2], [0,1,0]]
print y

Su produccin sera de la siguiente manera -

[1 4 5]

La seleccin incluye elementos en (0,0) , (1,1) y (2,0) de la primera


matriz.

En el siguiente ejemplo, se seleccionan elementos colocados en las


esquinas de una matriz de 4X3. Los ndices de fila de seleccin son [0,
0] y [3,3], mientras que los ndices de columna son [0,2] y [0,2].

Ejemplo 2
import numpy as np
x = np.array([[ 0, 1, 2],[ 3, 4, 5],[ 6, 7, 8],[ 9, 10, 11

print 'Our array is:'


print x
print '\n'

rows = np.array([[0,0],[3,3]])
cols = np.array([[0,2],[0,2]])
y = x[rows,cols]

print 'The corner elements of this array are:'


print y

La salida de este programa es el siguiente -

Our array is:


[[ 0 1 2]
[ 3 4 5]
[ 6 7 8]
[ 9 10 11]]

The corner elements of this array are:


[[ 0 2]
[ 9 11]]

La seleccin resultante es un objeto ndarray que contiene elementos


de esquina.

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 33/107
25/10/2017 Gua rpida NumPy

Avanzada y la indexacin bsica se pueden combinar mediante el uso


TUTORIALES
de una rebanada (:) o puntos suspensivos () con una matriz de
Espaol

ndice. El ejemplo siguiente utiliza la rebanada por fila y el ndice de


avanzada para la columna. El resultado es el mismo cuando se utiliza
la rebanada para ambos. Pero los resultados del ndice avanzados de
copia y pueden tener diferente distribucin de la memoria.

Ejemplo 3
import numpy as np
x = np.array([[ 0, 1, 2],[ 3, 4, 5],[ 6, 7, 8],[ 9, 10, 11

print 'Our array is:'


print x
print '\n'

# slicing
z = x[1:4,1:3]

print 'After slicing, our array becomes:'


print z
print '\n'

# using advanced index for column


y = x[1:4,[1,2]]

print 'Slicing using advanced index for column:'


print y

La salida de este programa sera de la siguiente manera -

Our array is:


[[ 0 1 2]
[ 3 4 5]
[ 6 7 8]
[ 9 10 11]]

After slicing, our array becomes:


[[ 4 5]
[ 7 8]
[10 11]]

Slicing using advanced index for column:


[[ 4 5]
[ 7 8]
[10 11]]

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 34/107
25/10/2017 Gua rpida NumPy

Indexacin matriz booleana


TUTORIALES Espaol

Este tipo de indexacin avanzada se utiliza cuando el objeto resultante


est destinado a ser el resultado de las operaciones booleanas, tales
como operadores de comparacin.

Ejemplo 1
En este ejemplo, los elementos superiores a 5 se devuelven como
resultado de la indexacin de Boole.

import numpy as np
x = np.array([[ 0, 1, 2],[ 3, 4, 5],[ 6, 7, 8],[ 9, 10, 11

print 'Our array is:'


print x
print '\n'

# Now we will print the items greater than 5


print 'The items greater than 5 are:'
print x[x > 5]

La salida de este programa sera -

Our array is:


[[ 0 1 2]
[ 3 4 5]
[ 6 7 8]
[ 9 10 11]]

The items greater than 5 are:


[ 6 7 8 9 10 11]

Ejemplo 2
En este ejemplo, NaN (Not a Number) elementos se omiten mediante
el uso de ~ (complement operator) .

import numpy as np
a = np.array([np.nan, 1,2,np.nan,3,4,5])
print a[~np.isnan(a) ]

Su produccin sera -

[ 1. 2. 3. 4. 5.]

Ejemplo 3
http://www.w3ii.com/es/numpy/numpy_quick_guide.html 35/107
25/10/2017 Gua rpida NumPy

El siguiente ejemplo muestra cmo filtrar los elementos no complejas


de una matriz.
TUTORIALES Espaol

import numpy as np
a = np.array([1, 2+6j, 5, 3.5+5j])
print a[np.iscomplex(a) ]

En este caso, la salida es la siguiente -

[2.0+6.j 3.5+5.j]

NumPy - Radiodifusin
El trmino broadcasting se refiere a la capacidad de NumPy para
tratar matrices de diferentes formas durante las operaciones
aritmticas. Las operaciones aritmticas sobre matrices se realiza
sobre los elementos correspondientes. Si dos matrices son de
exactamente la misma forma, a continuacin, estas operaciones se
llevan a cabo sin problemas.

Ejemplo 1
import numpy as np

a = np.array([1,2,3,4])
b = np.array([10,20,30,40])
c = a * b
print c

Su salida es la siguiente -

[10 40 90 160]

Si las dimensiones de dos matrices son diferentes, las operaciones de


elemento a elemento no son posibles. Sin embargo, las operaciones en
las matrices de formas no similares es todava posible en NumPy, a
causa de la capacidad de radiodifusin. La gama ms pequea se
broadcast al tamao de la matriz ms grande para que tengan
formas compatibles.

La radiodifusin es posible si las siguientes reglas estn satisfechos -

Matriz con pequeos ndim que el otro se antepone con '1' en


su forma.

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 36/107
25/10/2017 Gua rpida NumPy

Tamao en cada dimensin de la forma de salida es mximo de


TUTORIALES
los tamaos de entrada en esa dimensin.
Espaol

Una entrada puede ser utilizado en el clculo, si su tamao en


una dimensin particular coincide con el tamao de salida o su
valor es exactamente 1.

Si una entrada tiene un tamao de dimensin de 1, la primera


entrada de datos en esa dimensin se utiliza para todos los
clculos a lo largo de esa dimensin.

Un conjunto de matrices se dice que es broadcastable si las reglas


anteriores producen un resultado vlido y uno de lo siguiente
es cierto -

Las matrices tienen exactamente la misma forma.

Las matrices tienen el mismo nmero de dimensiones y la


longitud de cada dimensin es o bien una longitud comn o 1.

De matriz que tiene demasiado pocas dimensiones puede tener


su forma antepuesto con una dimensin de longitud 1, de modo
que la propiedad se ha indicado anteriormente es cierto.

El programa siguiente muestra un ejemplo de radiodifusin.

Ejemplo 2
import numpy as np
a = np.array([[0.0,0.0,0.0],[10.0,10.0,10.0],[20.0,20.0,20.0],[3
b = np.array([1.0,2.0,3.0])

print 'First array:'


print a
print '\n'

print 'Second array:'


print b
print '\n'

print 'First Array + Second Array'


print a + b

La salida de este programa sera de la siguiente manera -

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 37/107
25/10/2017 Gua rpida NumPy

First array: TUTORIALES Espaol


[[ 0. 0. 0.]
[ 10. 10. 10.]
[ 20. 20. 20.]
[ 30. 30. 30.]]

Second array:
[ 1. 2. 3.]

First Array + Second Array


[[ 1. 2. 3.]
[ 11. 12. 13.]
[ 21. 22. 23.]
[ 31. 32. 33.]]

La siguiente figura muestra cmo matriz b se transmite a ser


compatible con a .

NumPy - iteracin en matriz


Paquete NumPy contiene un objeto iterador numpy.nditer . Es un
objeto iterador multidimensional eficiente con el que es posible iterar
sobre una matriz. Cada elemento de una matriz es visitado utilizando
la interfaz Iterator estndar de Python.

Vamos a crear una matriz 3X4 usando arange() la funcin e iterar


sobre ella usando nditer .

Ejemplo 1

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 38/107
25/10/2017 Gua rpida NumPy

import numpy as np TUTORIALES Espaol


a = np.arange(0,60,5)
a = a.reshape(3,4)

print 'Original array is:'


print a
print '\n'

print 'Modified array is:'


for x in np.nditer(a) :
print x,

La salida de este programa es el siguiente -

Original array is:


[[ 0 5 10 15]
[20 25 30 35]
[40 45 50 55]]

Modified array is:


0 5 10 15 20 25 30 35 40 45 50 55

Ejemplo 2
El orden de iteracin se escoge para que coincida con el diseo de
memoria de una matriz, sin tener en cuenta un orden particular. Esto
puede ser visto por iterar sobre la transpuesta de la matriz de arriba.

import numpy as np
a = np.arange(0,60,5)
a = a.reshape(3,4)

print 'Original array is:'


print a
print '\n'

print 'Transpose of the original array is:'


b = a.T
print b
print '\n'

print 'Modified array is:'


for x in np.nditer(b) :
print x,

La salida del programa anterior es como sigue -

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 39/107
25/10/2017 Gua rpida NumPy

Original array is: TUTORIALES Espaol


[[ 0 5 10 15]
[20 25 30 35]
[40 45 50 55]]

Transpose of the original array is:


[[ 0 20 40]
[ 5 25 45]
[10 30 50]
[15 35 55]]

Modified array is:


0 5 10 15 20 25 30 35 40 45 50 55

Orden de iteracin
Si los mismos elementos se almacenan usando el orden de estilo F, el
iterador elige el camino ms eficiente de iterar sobre una matriz.

Ejemplo 1
import numpy as np
a = np.arange(0,60,5)
a = a.reshape(3,4)
print 'Original array is:'
print a
print '\n'

print 'Transpose of the original array is:'


b = a.T
print b
print '\n'

print 'Sorted in C-style order:'


c = b.copy(order='C')
print c
for x in np.nditer(c) :
print x,

print '\n'

print 'Sorted in F-style order:'


c = b.copy(order='F')
print c
for x in np.nditer(c) :
print x,

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 40/107
25/10/2017 Gua rpida NumPy

Su produccin sera de la siguiente manera -


TUTORIALES Espaol

Original array is:


[[ 0 5 10 15]
[20 25 30 35]
[40 45 50 55]]

Transpose of the original array is:


[[ 0 20 40]
[ 5 25 45]
[10 30 50]
[15 35 55]]

Sorted in C-style order:


[[ 0 20 40]
[ 5 25 45]
[10 30 50]
[15 35 55]]
0 20 40 5 25 45 10 30 50 15 35 55

Sorted in F-style order:


[[ 0 20 40]
[ 5 25 45]
[10 30 50]
[15 35 55]]
0 5 10 15 20 25 30 35 40 45 50 55

Ejemplo 2
Es posible forzar nditer objeto de utilizar un orden especfico por
mencionar explcitamente.

import numpy as np
a = np.arange(0,60,5)
a = a.reshape(3,4)

print 'Original array is:'


print a
print '\n'

print 'Sorted in C-style order:'


for x in np.nditer(a, order = 'C') :
print x,
print '\n'

print 'Sorted in F-style order:'


for x in np.nditer(a, order = 'F') :
print x,

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 41/107
25/10/2017 Gua rpida NumPy

Su produccin sera -
TUTORIALES Espaol

Original array is:


[[ 0 5 10 15]
[20 25 30 35]
[40 45 50 55]]

Sorted in C-style order:


0 5 10 15 20 25 30 35 40 45 50 55

Sorted in F-style order:


0 20 40 5 25 45 10 30 50 15 35 55

Modificacin de valores de matriz


El nditer objeto tiene otro parmetro opcional denominado
op_flags . Su valor por defecto es de slo lectura, pero se puede
configurar para lectura y escritura o slo en el modo escritura. Esto
permitir a la modificacin de elementos de la matriz que usan este
iterador.

Ejemplo
import numpy as np
a = np.arange(0,60,5)
a = a.reshape(3,4)
print 'Original array is:'
print a
print '\n'

for x in np.nditer(a, op_flags=['readwrite']) :


x[...]=2*x
print 'Modified array is:'
print a

Su salida es la siguiente -

Original array is:


[[ 0 5 10 15]
[20 25 30 35]
[40 45 50 55]]

Modified array is:


[[ 0 10 20 30]
[ 40 50 60 70]
[ 80 90 100 110]]

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 42/107
25/10/2017 Gua rpida NumPy

TUTORIALES Espaol
bucle externo
El constructor de la clase nditer tiene un 'flags' parmetro, que
puede tomar los siguientes valores -

S.No Parmetro y Descripcin

1. c_index

ndice C_order puede ser trasegado

2. f_index

ndice Fortran_order se rastrea

3. multi-index

Tipo de ndices con uno por cada iteracin se puede seguir

4. external_loop

Causas valores dados a ser matrices unidimensionales con


mltiples valores en lugar de la matriz de dimensin cero

Ejemplo
En el siguiente ejemplo, matrices unidimensionales correspondientes a
cada columna es atravesado por el iterador.

import numpy as np
a = np.arange(0,60,5)
a = a.reshape(3,4)

print 'Original array is:'


print a
print '\n'

print 'Modified array is:'


for x in np.nditer(a, flags = ['external_loop'], order = 'F') :
print x,

La salida es la siguiente -

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 43/107
25/10/2017 Gua rpida NumPy

Original array is: TUTORIALES Espaol


[[ 0 5 10 15]
[20 25 30 35]
[40 45 50 55]]

Modified array is:


[ 0 20 40] [ 5 25 45] [10 30 50] [15 35 55]

La iteracin de radiodifusin
Si dos matrices son broadcastable , un combinado nditer objeto
es capaz de iterar sobre ellos al mismo tiempo. Asumiendo que
una matriz a tiene 3X4 dimensin, y no hay otra matriz b de 1X4
dimensin, se utiliza el iterador de siguiente tipo (array b is
broadcast to size of a ) .

Ejemplo
import numpy as np
a = np.arange(0,60,5)
a = a.reshape(3,4)

print 'First array is:'


print a
print '\n'

print 'Second array is:'


b = np.array([1, 2, 3, 4], dtype = int)
print b
print '\n'

print 'Modified array is:'


for x,y in np.nditer([a,b]) :
print "%d:%d" % (x,y) ,

Su produccin sera de la siguiente manera -

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 44/107
25/10/2017 Gua rpida NumPy

First array is: TUTORIALES Espaol


[[ 0 5 10 15]
[20 25 30 35]
[40 45 50 55]]

Second array is:


[1 2 3 4]

Modified array is:


0:1 5:2 10:3 15:4 20:1 25:2 30:3 35:4 40:1 45:2 50:3 55:4

NumPy - la manipulacin de
matrices
Varias rutinas estn disponibles en el paquete NumPy para la
manipulacin de elementos en ndarray objeto. Se pueden clasificar en
los siguientes tipos -

Cambiando forma
S.No Forma y Descripcin

1. remodelar (numpy_reshape.html)
Da una nueva forma a una matriz sin cambiar sus datos

2. plano (numpy_ndarray_flat.html)
Un iterador 1-D sobre la matriz

3. aplanar (numpy_ndarray_flatten.html)
Devuelve una copia de la matriz se dej caer en una
dimensin

4. enmaraar (numpy_ndarray_ravel.html)
Devuelve una matriz aplanada contiguos

transposicin de Operaciones
S.No Descripcin de la operacin

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 45/107
25/10/2017 Gua rpida NumPy

1. transponer (numpy_transpose.html)
TUTORIALES Espaol
Permuta las dimensiones de una matriz

2. ndarray.T (numpy_ndarray_t.html)
Igual que self.transpose()

3. rollaxis (numpy_rollaxis.html)
Tira el eje especificado hacia atrs

4. swapaxes (numpy_swapaxes.html)
Intercambios los dos ejes de una matriz

Cambio de las dimensiones


S.No Dimensin y Descripcin

1. emisin (numpy_broadcast.html)
Produce un objeto que imita radiodifusin

2. broadcast_to (numpy_broadcast_to.html)
Difunde una matriz a una nueva forma

3. expand_dims (numpy_expand_dims.html)
Se expande la forma de una matriz

4. exprimir (numpy_squeeze.html)
Elimina entradas unidimensionales de la forma de una matriz

Unir Arreglos
S.No Descripcin array &

1. concatenar (numpy_concatenate.html)
Se une a una secuencia de matrices a lo largo de un eje
existente

2. apilar (numpy_stack.html)
Se une a una secuencia de matrices a lo largo de un nuevo
eje

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 46/107
25/10/2017 Gua rpida NumPy

3. hstack (numpy_hstack.html) TUTORIALES Espaol


Se acumula arrays en secuencia horizontalmente (column
wise)

4. vstack (numpy_vstack.html)
Pilas matrices en secuencia vertical (row wise)

matrices de divisin
S.No Descripcin array &

1. divisin (numpy_split.html)
Divide una matriz en mltiples sub-matrices

2. tablas hsplit (numpy_hsplit.html)


Divide una matriz en mltiples sub-arrays horizontalmente
(column-wise)

3. vsplit (numpy_vsplit.html)
Divide una matriz en mltiples sub-series verticalmente
(row-wise)

Adicin / Extraccin de Elementos


S.No Elemento y Descripcin

1. cambiar el tamao (numpy_resize.html)


Devuelve una nueva matriz con la forma especificada

2. adjuntar (numpy_append.html)
Aade los valores al final de una matriz

3. insertar (numpy_insert.html)
Inserta los valores a lo largo del eje dado antes de los
ndices dados

4. borrar (numpy_delete.html)
Devuelve una nueva matriz con sub-series a lo largo de un
eje suprimido

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 47/107
25/10/2017 Gua rpida NumPy

5. nico (numpy_unique.html) TUTORIALES Espaol


Encuentra los elementos nicos de una matriz

NumPy - Operadores binarios


Las siguientes son las funciones para las operaciones a nivel de bits
disponibles en el paquete NumPy.

S.No Descripcin de la operacin

1. bitwise_and (numpy_bitwise_and.html)
Calcula AND bit a bit operacin de elementos de matriz

2. bitwise_or (numpy_bitwise_or.html)
Calcula bit a bit o el funcionamiento de los elementos de
matriz

3. invertir (numpy_invert.html)
Calcula bit a bit NO

4. Shift izquierdo (numpy_left_shift.html)


Desplaza los bits de una representacin binaria a la izquierda

5. Giro a la derecha (numpy_right_shift.html)


Cambios de bits de representacin binaria a la derecha

- Funciones de cadena NumPy


Las siguientes funciones se utilizan para realizar operaciones de
cadena vectorizados para las matrices de numpy.string_ dtype o
numpy.unicode_. Se basan en las funciones de cadena estndar en la
biblioteca incorporada de Python.

S.No Funcin descriptiva

1. aadir() (numpy_char_add.html)
Devuelve elemento a elemento de concatenacin de cadenas
para los dos conjuntos de str o Unicode

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 48/107
25/10/2017 Gua rpida NumPy

2. multiplicar() (numpy_char_multiply.html)
TUTORIALES Espaol
Devuelve la cadena con la concatenacin mltiple, elemento
a elemento

3. centrar() (numpy_char_center.html)
Devuelve una copia de la cadena dada con elementos
centrados en una cadena de longitud especificada

4. capitalizar() (numpy_char_capitalize.html)
Devuelve una copia de la cadena con slo el primer carcter
en mayscula

5. ttulo() (numpy_char_title.html)
Devuelve el ttulo versin de elemento a elemento entubado
de la cadena o Unicode

6. inferior() (numpy_char_lower.html)
Devuelve una matriz con los elementos convertidos en
minsculas

7. Superior() (numpy_char_upper.html)
Devuelve una matriz con los elementos convierte a
maysculas

8. divisin() (numpy_char_string_split.html)
Devuelve una lista de las palabras de la cadena, usando
separatordelimiter

9. splitlines () (numpy_char_splitlines.html)
Devuelve una lista de las lneas en el elemento, rompiendo
en los lmites de lnea

10. tira() (numpy_char_strip.html)


Devuelve una copia con los caracteres iniciales y finales
retirados

11. unirse() (numpy_char_join.html)


Devuelve una cadena que es la concatenacin de las
cadenas en la secuencia

12. reemplazar() (numpy_char_replace.html)


Devuelve una copia de la cadena con todas las apariciones
de la subcadena reemplazados por la nueva cadena

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 49/107
25/10/2017 Gua rpida NumPy

13. descodificar() (numpy_char_decode.html)


TUTORIALES Espaol
Las llamadas str.decode elemento a elemento

14. codificar() (numpy_char_encode.html)


Las llamadas str.encode elemento a elemento

Estas funciones se definen en la clase de matriz de caracteres


(numpy.char) . El paquete contena numarray mayor clase chararray.
Las funciones anteriores en la clase numpy.char son tiles en la
realizacin de operaciones de cadena vectorizados.

NumPy - Funciones matemticas


Es bastante comprensible que, NumPy contiene un gran nmero de
diversas operaciones matemticas. NumPy proporciona funciones
trigonomtricas estndar, funciones para operaciones aritmticas,
manipulacin nmeros complejos, etc.

Funciones trigonomtricas
NumPy tiene funciones trigonomtricas estndar que devuelven
relaciones trigonomtricas para un ngulo dado en radianes.

Example

import numpy as np
a = np.array([0,30,45,60,90])

print 'Sine of different angles:'


# Convert to radians by multiplying with pi/180
print np.sin(a*np.pi/180)
print '\n'

print 'Cosine values for angles in array:'


print np.cos(a*np.pi/180)
print '\n'

print 'Tangent values for given angles:'


print np.tan(a*np.pi/180)

Aqu est su salida -

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 50/107
25/10/2017 Gua rpida NumPy

Sine of different angles: TUTORIALES Espaol


[ 0. 0.5 0.70710678 0.8660254 1. ]

Cosine values for angles in array:


[ 1.00000000e+00 8.66025404e-01 7.07106781e-01 5.00000000
6.12323400e-17]

Tangent values for given angles:


[ 0.00000000e+00 5.77350269e-01 1.00000000e+00 1.73205081
1.63312394e+16]

arcsin, arcos, y arctan funciones devuelven el inverso


trigonomtrico de seno, coseno y tangente de ngulo dado. El
resultado de estas funciones puede ser verificada mediante
numpy.degrees() la funcin mediante la conversin de
radianes a grados.

Example

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 51/107
25/10/2017 Gua rpida NumPy

import numpy as np TUTORIALES Espaol


a = np.array([0,30,45,60,90])

print 'Array containing sine values:'


sin = np.sin(a*np.pi/180)
print sin
print '\n'

print 'Compute sine inverse of angles. Returned values are in ra


inv = np.arcsin(sin)
print inv
print '\n'

print 'Check result by converting to degrees:'


print np.degrees(inv)
print '\n'

print 'arccos and arctan functions behave similarly:'


cos = np.cos(a*np.pi/180)
print cos
print '\n'

print 'Inverse of cos:'


inv = np.arccos(cos)
print inv
print '\n'

print 'In degrees:'


print np.degrees(inv)
print '\n'

print 'Tan function:'


tan = np.tan(a*np.pi/180)
print tan
print '\n'

print 'Inverse of tan:'


inv = np.arctan(tan)
print inv
print '\n'

print 'In degrees:'


print np.degrees(inv)

Su salida es la siguiente -

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 52/107
25/10/2017 Gua rpida NumPy

Array containing sine values: TUTORIALES Espaol


[ 0. 0.5 0.70710678 0.8660254 1. ]

Compute sine inverse of angles. Returned values are in radians.


[ 0. 0.52359878 0.78539816 1.04719755 1.57079633]

Check result by converting to degrees:


[ 0. 30. 45. 60. 90.]

arccos and arctan functions behave similarly:


[ 1.00000000e+00 8.66025404e-01 7.07106781e-01 5.00000000
6.12323400e-17]

Inverse of cos:
[ 0. 0.52359878 0.78539816 1.04719755 1.57079633]

In degrees:
[ 0. 30. 45. 60. 90.]

Tan function:
[ 0.00000000e+00 5.77350269e-01 1.00000000e+00 1.73205081
1.63312394e+16]

Inverse of tan:
[ 0. 0.52359878 0.78539816 1.04719755 1.57079633]

In degrees:
[ 0. 30. 45. 60. 90.]

Funciones para el redondeo


numpy.around ()
Esta es una funcin que devuelve el valor redondeado a la precisin
deseada. La funcin toma los siguientes parmetros.

numpy.around(a,decimals)

Dnde,

S.No Parmetro y Descripcin

1. a

Datos de entrada

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 53/107
25/10/2017 Gua rpida NumPy

2. decimals TUTORIALES Espaol


El nmero de decimales a redondear a. El valor
predeterminado es 0. Si es negativo, el nmero entero se
redondea a la posicin a la izquierda del punto decimal

Example

import numpy as np
a = np.array([1.0,5.55, 123, 0.567, 25.532])

print 'Original array:'


print a
print '\n'

print 'After rounding:'


print np.around(a)
print np.around(a, decimals = 1)
print np.around(a, decimals = -1)

Se produce la siguiente salida -

Original array:
[ 1. 5.55 123. 0.567 25.532]

After rounding:
[ 1. 6. 123. 1. 26. ]
[ 1. 5.6 123. 0.6 25.5]
[ 0. 10. 120. 0. 30. ]

numpy.floor ()
Esta funcin devuelve el entero ms grande no mayor que el
parmetro de entrada. El suelo de la scalar x es el mayor integer i ,
tal que i <= x . Tenga en cuenta que en Python, el suelo se redondea
siempre lejos de 0.

Example

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 54/107
25/10/2017 Gua rpida NumPy

import numpy as np TUTORIALES Espaol


a = np.array([-1.7, 1.5, -0.2, 0.6, 10])

print 'The given array:'


print a
print '\n'

print 'The modified array:'


print np.floor(a)

Se produce la siguiente salida -

The given array:


[ -1.7 1.5 -0.2 0.6 10. ]

The modified array:


[ -2. 1. -1. 0. 10.]

numpy.ceil ()
El ceil() funcin devuelve el techo de un valor de entrada, es decir, el
ceil del scalar x es el ms pequeo integer i , de tal manera que
i >= x.

Example

import numpy as np
a = np.array([-1.7, 1.5, -0.2, 0.6, 10])

print 'The given array:'


print a
print '\n'

print 'The modified array:'


print np.ceil(a)

Se producir la siguiente salida -

The given array:


[ -1.7 1.5 -0.2 0.6 10. ]

The modified array:


[ -1. 2. -0. 1. 10.]

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 55/107
25/10/2017 Gua rpida NumPy


NumPy - Operaciones aritmticas
TUTORIALES Espaol

Matrices de entrada para la realizacin de operaciones aritmticas


tales como add() , subtract() , multiply() , y divide() debe ser ya sea
de la misma forma o debe ajustarse a las normas array de
radiodifusin.

Ejemplo
import numpy as np
a = np.arange(9, dtype = np.float_) .reshape(3,3)

print 'First array:'


print a
print '\n'

print 'Second array:'


b = np.array([10,10,10])
print b
print '\n'

print 'Add the two arrays:'


print np.add(a,b)
print '\n'

print 'Subtract the two arrays:'


print np.subtract(a,b)
print '\n'

print 'Multiply the two arrays:'


print np.multiply(a,b)
print '\n'

print 'Divide the two arrays:'


print np.divide(a,b)

Se producir la siguiente salida -

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 56/107
25/10/2017 Gua rpida NumPy

First array: TUTORIALES Espaol


[[ 0. 1. 2.]
[ 3. 4. 5.]
[ 6. 7. 8.]]

Second array:
[10 10 10]

Add the two arrays:


[[ 10. 11. 12.]
[ 13. 14. 15.]
[ 16. 17. 18.]]

Subtract the two arrays:


[[-10. -9. -8.]
[ -7. -6. -5.]
[ -4. -3. -2.]]

Multiply the two arrays:


[[ 0. 10. 20.]
[ 30. 40. 50.]
[ 60. 70. 80.]]

Divide the two arrays:


[[ 0. 0.1 0.2]
[ 0.3 0.4 0.5]
[ 0.6 0.7 0.8]]

Ahora vamos a discutir algunas de las otras funciones aritmticas


importantes disponibles en la NumPy.

numpy.reciprocal ()
Esta funcin devuelve el valor recproco de la discusin, elemento a
elemento. Para los elementos con valores absolutos mayores que 1, el
resultado es siempre 0 debido a la forma en la que Python maneja
divisin entera. Para nmero entero 0, se emite un aviso de
desbordamiento.

Ejemplo

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 57/107
25/10/2017 Gua rpida NumPy

import numpy as np TUTORIALES Espaol


a = np.array([0.25, 1.33, 1, 0, 100])

print 'Our array is:'


print a
print '\n'

print 'After applying reciprocal function:'


print np.reciprocal(a)
print '\n'

b = np.array([100], dtype = int)


print 'The second array is:'
print b
print '\n'

print 'After applying reciprocal function:'


print np.reciprocal(b)

Se producir la siguiente salida -

Our array is:


[ 0.25 1.33 1. 0. 100. ]

After applying reciprocal function:


main.py:9: RuntimeWarning: divide by zero encountered in recipro
print np.reciprocal(a)
[ 4. 0.7518797 1. inf 0.01 ]

The second array is:


[100]

After applying reciprocal function:


[0]

numpy.power ()
Esta funcin trata elementos en la primera matriz de entrada como
base y lo devuelve elevado a la potencia del elemento correspondiente
en la segunda matriz de entrada.

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 58/107
25/10/2017 Gua rpida NumPy

import numpy as np TUTORIALES Espaol


a = np.array([10,100,1000])

print 'Our array is:'


print a
print '\n'

print 'Applying power function:'


print np.power(a,2)
print '\n'

print 'Second array:'


b = np.array([1,2,3])
print b
print '\n'

print 'Applying power function again:'


print np.power(a,b)

Se producir la siguiente salida -

Our array is:


[ 10 100 1000]

Applying power function:


[ 100 10000 1000000]

Second array:
[1 2 3]

Applying power function again:


[ 10 10000 1000000000]

numpy.mod ()
Esta funcin devuelve el resto de la divisin de los elementos
correspondientes de la matriz de entrada. La funcin
numpy.remainder() tambin produce el mismo resultado.

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 59/107
25/10/2017 Gua rpida NumPy

import numpy as np TUTORIALES Espaol


a = np.array([10,20,30])
b = np.array([3,5,7])

print 'First array:'


print a
print '\n'

print 'Second array:'


print b
print '\n'

print 'Applying mod() function:'


print np.mod(a,b)
print '\n'

print 'Applying remainder() function:'


print np.remainder(a,b)

Se producir la siguiente salida -

First array:
[10 20 30]

Second array:
[3 5 7]

Applying mod() function:


[1 0 2]

Applying remainder() function:


[1 0 2]

Las siguientes funciones se utilizan para realizar operaciones en matriz


con nmeros complejos.

numpy.real() - devuelve la parte real del argumento del


tipo de datos complejos.

numpy.imag() - devuelve la parte imaginaria del


argumento del tipo de datos complejos.

numpy.conj() - devuelve el conjugado complejo, que se


obtiene cambiando el signo de la parte imaginaria.

numpy.angle() - devuelve el ngulo del argumento


complejo. La funcin tiene parmetro grado. Si es verdad, se
devuelve el ngulo en el grado, de lo contrario el ngulo en
radianes.

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 60/107
25/10/2017 Gua rpida NumPy

import numpy as np TUTORIALES Espaol


a = np.array([-5.6j, 0.2j, 11. , 1+1j])

print 'Our array is:'


print a
print '\n'

print 'Applying real() function:'


print np.real(a)
print '\n'

print 'Applying imag() function:'


print np.imag(a)
print '\n'

print 'Applying conj() function:'


print np.conj(a)
print '\n'

print 'Applying angle() function:'


print np.angle(a)
print '\n'

print 'Applying angle() function again (result in degrees) '


print np.angle(a, deg = True)

Se producir la siguiente salida -

Our array is:


[ 0.-5.6j 0.+0.2j 11.+0.j 1.+1.j ]

Applying real() function:


[ 0. 0. 11. 1.]

Applying imag() function:


[-5.6 0.2 0. 1. ]

Applying conj() function:


[ 0.+5.6j 0.-0.2j 11.-0.j 1.-1.j ]

Applying angle() function:


[-1.57079633 1.57079633 0. 0.78539816]

Applying angle() function again (result in degrees)


[-90. 90. 0. 45.]

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 61/107
25/10/2017 Gua rpida NumPy


NumPy - Funciones estadsticas
TUTORIALES Espaol

NumPy tiene bastantes funciones estadsticas tiles para encontrar


mnimo, mximo, desviacin estndar percentil y la varianza, etc. de
los elementos dados en la matriz. Las funciones se explican de la
siguiente manera -

numpy.amin () y numpy.amax()
Estas funciones devuelven el mnimo y el mximo de los elementos de
la matriz dada a lo largo del eje especificado.

Ejemplo
import numpy as np
a = np.array([[3,7,5],[8,4,3],[2,4,9]])

print 'Our array is:'


print a
print '\n'

print 'Applying amin() function:'


print np.amin(a,1)
print '\n'

print 'Applying amin() function again:'


print np.amin(a,0)
print '\n'

print 'Applying amax() function:'


print np.amax(a)
print '\n'

print 'Applying amax() function again:'


print np.amax(a, axis = 0)

Se producir la siguiente salida -

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 62/107
25/10/2017 Gua rpida NumPy

Our array is: TUTORIALES Espaol


[[3 7 5]
[8 4 3]
[2 4 9]]

Applying amin() function:


[3 3 2]

Applying amin() function again:


[2 4 3]

Applying amax() function:


9

Applying amax() function again:


[8 7 9]

numpy.ptp ()
El numpy.ptp() funcin devuelve el intervalo (maximum-
minimum) de los valores a lo largo de un eje.

import numpy as np
a = np.array([[3,7,5],[8,4,3],[2,4,9]])

print 'Our array is:'


print a
print '\n'

print 'Applying ptp() function:'


print np.ptp(a)
print '\n'

print 'Applying ptp() function along axis 1:'


print np.ptp(a, axis = 1)
print '\n'

print 'Applying ptp() function along axis 0:'


print np.ptp(a, axis = 0)

Se producir la siguiente salida -

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 63/107
25/10/2017 Gua rpida NumPy

Our array is: TUTORIALES Espaol


[[3 7 5]
[8 4 3]
[2 4 9]]

Applying ptp() function:


7

Applying ptp() function along axis 1:


[4 5 7]

Applying ptp() function along axis 0:


[6 3 6]

numpy.percentile ()
Percentil (or a centile) es una medida utilizada en las estadsticas que
indica el valor por debajo del cual un porcentaje dado de
observaciones en un grupo de observaciones caer. La funcin
numpy.percentile() toma los siguientes argumentos.

numpy.percentile(a, q, axis)

Dnde,

S.No Argumento y Descripcin

1. a

matriz de entrada

2. q

El percentil para calcular debe estar entre 0-100

3. axis

El eje largo de la cual el percentil se calcula

Ejemplo

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 64/107
25/10/2017 Gua rpida NumPy

import numpy as np TUTORIALES Espaol


a = np.array([[30,40,70],[80,20,10],[50,90,60]])

print 'Our array is:'


print a
print '\n'

print 'Applying percentile() function:'


print np.percentile(a,50)
print '\n'

print 'Applying percentile() function along axis 1:'


print np.percentile(a,50, axis = 1)
print '\n'

print 'Applying percentile() function along axis 0:'


print np.percentile(a,50, axis = 0)

Se producir la siguiente salida -

Our array is:


[[30 40 70]
[80 20 10]
[50 90 60]]

Applying percentile() function:


50.0

Applying percentile() function along axis 1:


[ 40. 20. 60.]

Applying percentile() function along axis 0:


[ 50. 40. 60.]

numpy.median ()
Median se define como el valor de la separacin de la mitad
superior de una muestra de datos de la mitad inferior. El
numpy.median() funcin se utiliza como se muestra en el
siguiente programa.

Ejemplo

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 65/107
25/10/2017 Gua rpida NumPy

import numpy as np TUTORIALES Espaol


a = np.array([[30,65,70],[80,95,10],[50,90,60]])

print 'Our array is:'


print a
print '\n'

print 'Applying median() function:'


print np.median(a)
print '\n'

print 'Applying median() function along axis 0:'


print np.median(a, axis = 0)
print '\n'

print 'Applying median() function along axis 1:'


print np.median(a, axis = 1)

Se producir la siguiente salida -

Our array is:


[[30 65 70]
[80 95 10]
[50 90 60]]

Applying median() function:


65.0

Applying median() function along axis 0:


[ 50. 90. 60.]

Applying median() function along axis 1:


[ 65. 80. 60.]

numpy.mean ()
Media aritmtica es la suma de elementos a lo largo de un eje dividido
por el nmero de elementos. El numpy.mean() funcin devuelve la
media aritmtica de elementos de la matriz. Si se menciona el
eje, se calcula lo largo de ella.

Ejemplo

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 66/107
25/10/2017 Gua rpida NumPy

import numpy as np TUTORIALES Espaol


a = np.array([[1,2,3],[3,4,5],[4,5,6]])

print 'Our array is:'


print a
print '\n'

print 'Applying mean() function:'


print np.mean(a)
print '\n'

print 'Applying mean() function along axis 0:'


print np.mean(a, axis = 0)
print '\n'

print 'Applying mean() function along axis 1:'


print np.mean(a, axis = 1)

Se producir la siguiente salida -

Our array is:


[[1 2 3]
[3 4 5]
[4 5 6]]

Applying mean() function:


3.66666666667

Applying mean() function along axis 0:


[ 2.66666667 3.66666667 4.66666667]

Applying mean() function along axis 1:


[ 2. 4. 5.]

numpy.average ()
Promedio ponderado es un promedio que resulta de la multiplicacin
de cada componente por un factor que refleja su importancia. El
numpy.average() funcin calcula la media ponderada de
elementos de una matriz de acuerdo con su respectivo peso
dado en otra matriz. La funcin puede tener un parmetro de eje. Si
no se especifica el eje, se aplana la matriz.

Considerando un array [1,2,3,4] y los pesos correspondientes


[4,3,2,1], la media ponderada se calcula aadiendo el producto de los
elementos correspondientes, y dividiendo la suma por la suma de
pesos.
http://www.w3ii.com/es/numpy/numpy_quick_guide.html 67/107
25/10/2017 Gua rpida NumPy

Promedio ponderado = (1*4+2*3+3*2+4*1) / (4 + 3 + 2 + 1)


TUTORIALES Espaol

Ejemplo
import numpy as np
a = np.array([1,2,3,4])

print 'Our array is:'


print a
print '\n'

print 'Applying average() function:'


print np.average(a)
print '\n'

# this is same as mean when weight is not specified


wts = np.array([4,3,2,1])

print 'Applying average() function again:'


print np.average(a,weights = wts)
print '\n'

# Returns the sum of weights, if the returned parameter is set t


print 'Sum of weights'
print np.average([1,2,3, 4],weights = [4,3,2,1], returned = True

Se producir la siguiente salida -

Our array is:


[1 2 3 4]

Applying average() function:


2.5

Applying average() function again:


2.0

Sum of weights
(2.0, 10.0)

En una matriz multi-dimensional, el eje para el clculo se puede


especificar.

Ejemplo

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 68/107
25/10/2017 Gua rpida NumPy

import numpy as np TUTORIALES Espaol


a = np.arange(6) .reshape(3,2)

print 'Our array is:'


print a
print '\n'

print 'Modified array:'


wt = np.array([3,5])
print np.average(a, axis = 1, weights = wt)
print '\n'

print 'Modified array:'


print np.average(a, axis = 1, weights = wt, returned = True)

Se producir la siguiente salida -

Our array is:


[[0 1]
[2 3]
[4 5]]

Modified array:
[ 0.625 2.625 4.625]

Modified array:
(array([ 0.625, 2.625, 4.625]) , array([ 8., 8., 8.]) )

Desviacin estndar
La desviacin estndar es la raz cuadrada de la media de las
desviaciones al cuadrado respecto a la media. La frmula para la
desviacin estndar es la siguiente -

std = sqrt(mean(abs(x - x.mean() )**2))

Si la matriz es [1, 2, 3, 4], a continuacin, su media es 2,5. Por lo


tanto las desviaciones al cuadrado son [2,25, 0,25, 0,25, 2,25] y la
raz cuadrada de su media dividida por 4, es decir, sqrt (5/4) es
1,1180339887498949.

Ejemplo
import numpy as np
print np.std([1,2,3,4])

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 69/107
25/10/2017 Gua rpida NumPy

Se producir la siguiente salida -


TUTORIALES Espaol

1.1180339887498949

Diferencia
Varianza es la media de las desviaciones al cuadrado, es decir,
mean(abs(x - x.mean() )**2) . En otras palabras, la desviacin
estndar es la raz cuadrada de la varianza.

Ejemplo
import numpy as np
print np.var([1,2,3,4])

Se producir la siguiente salida -

1.25

NumPy - ordenar, buscar y


Funciones de recuento
Una variedad de funciones de ordenacin relacionados estn
disponibles en NumPy. Estas funciones de clasificacin implementan
diferentes algoritmos de clasificacin, cada uno de ellos caracterizado
por la velocidad de ejecucin, el peor rendimiento caso, el espacio de
trabajo necesaria y la estabilidad de los algoritmos. La siguiente tabla
muestra la comparacin de los tres algoritmos de ordenacin.

tipo velocidad peor de los espacio de estable


casos trabajo

'ordenacin 1 O (n ^ 2) 0 no
rpida'

'Mergesort' 2 O (log n * ~N/2 s


(n))

'Heapsort' 3 O (log n * 0 no
(n))

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 70/107
25/10/2017 Gua rpida NumPy

numpy.sort () TUTORIALES Espaol

El sort() funcin devuelve una copia ordenada de la matriz de entrada.


Tiene los siguientes parmetros -

numpy.sort(a, axis, kind, order)

Dnde,

S.No Parmetro y Descripcin

1. a

Array a ordenar

2. axis

El eje largo de la cual la matriz es que ser resuelto. Si no


hay, la matriz se aplana, la clasificacin en el ltimo eje

3. kind

Por defecto es la clasificacin rpida

4. order

Si la matriz contiene campos, el orden de los campos que


desee ordenar

Ejemplo

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 71/107
25/10/2017 Gua rpida NumPy

import numpy as np TUTORIALES Espaol


a = np.array([[3,7],[9,1]])

print 'Our array is:'


print a
print '\n'

print 'Applying sort() function:'


print np.sort(a)
print '\n'

print 'Sort along axis 0:'


print np.sort(a, axis = 0)
print '\n'

# Order parameter in sort function


dt = np.dtype([('name', 'S10') ,('age', int)])
a = np.array([("raju",21) ,("anil",25),("ravi", 17), ("amar",27)

print 'Our array is:'


print a
print '\n'

print 'Order by name:'


print np.sort(a, order = 'name')

Se producir la siguiente salida -

Our array is:


[[3 7]
[9 1]]

Applying sort() function:


[[3 7]
[1 9]]

Sort along axis 0:


[[3 1]
[9 7]]

Our array is:


[('raju', 21) ('anil', 25) ('ravi', 17) ('amar', 27)]

Order by name:
[('amar', 27) ('anil', 25) ('raju', 21) ('ravi', 17)]

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 72/107
25/10/2017 Gua rpida NumPy

numpy.argsort () TUTORIALES Espaol

El numpy.argsort() funcin realiza una especie indirecto sobre


la matriz de entrada, a lo largo del eje dado y el uso de un tipo
especfico de especie para devolver el conjunto de ndices de
datos. Esta matriz ndices se utiliza para construir la matriz ordenada.

Ejemplo
import numpy as np
x = np.array([3, 1, 2])

print 'Our array is:'


print x
print '\n'

print 'Applying argsort() to x:'


y = np.argsort(x)
print y
print '\n'

print 'Reconstruct original array in sorted order:'


print x[y]
print '\n'

print 'Reconstruct the original array using loop:'


for i in y:
print x[i],

Se producir la siguiente salida -

Our array is:


[3 1 2]

Applying argsort() to x:
[1 2 0]

Reconstruct original array in sorted order:


[1 2 3]

Reconstruct the original array using loop:


1 2 3

numpy.lexsort ()

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 73/107
25/10/2017 Gua rpida NumPy

funcin realiza una especie indirecta utilizando una secuencia de


TUTORIALES Espaol
teclas. Las teclas se pueden ver como una columna en una hoja de
clculo. La funcin devuelve una matriz de ndices, con el que los
datos ordenados se pueden obtener. Tenga en cuenta, que la ltima
tecla pasa a ser la clave principal de la especie.

Ejemplo
import numpy as np

nm = ('raju','anil','ravi','amar')
dv = ('f.y.', 's.y.', 's.y.', 'f.y.')
ind = np.lexsort((dv,nm) )

print 'Applying lexsort() function:'


print ind
print '\n'

print 'Use this index to get sorted data:'


print [nm[i] + ", " + dv[i] for i in ind]

Se producir la siguiente salida -

Applying lexsort() function:


[3 1 0 2]

Use this index to get sorted data:


['amar, f.y.', 'anil, s.y.', 'raju, f.y.', 'ravi, s.y.']

NumPy mdulo tiene una serie de funciones para buscar dentro de una
matriz. Funciones para encontrar el mximo, el mnimo, as como los
elementos que satisfacen una condicin dada estn disponibles.

numpy.argmax () y numpy.argmin()
Estas dos funciones devuelven los ndices de elementos mximo y
mnimo, respectivamente, a lo largo del eje dado.

Ejemplo

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 74/107
25/10/2017 Gua rpida NumPy

import numpy as np TUTORIALES Espaol


a = np.array([[30,40,70],[80,20,10],[50,90,60]])

print 'Our array is:'


print a
print '\n'

print 'Applying argmax() function:'


print np.argmax(a)
print '\n'

print 'Index of maximum number in flattened array'


print a.flatten()
print '\n'

print 'Array containing indices of maximum along axis 0:'


maxindex = np.argmax(a, axis = 0)
print maxindex
print '\n'

print 'Array containing indices of maximum along axis 1:'


maxindex = np.argmax(a, axis = 1)
print maxindex
print '\n'

print 'Applying argmin() function:'


minindex = np.argmin(a)
print minindex
print '\n'

print 'Flattened array:'


print a.flatten() [minindex]
print '\n'

print 'Flattened array along axis 0:'


minindex = np.argmin(a, axis = 0)
print minindex
print '\n'

print 'Flattened array along axis 1:'


minindex = np.argmin(a, axis = 1)
print minindex

Se producir la siguiente salida -

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 75/107
25/10/2017 Gua rpida NumPy

Our array is: TUTORIALES Espaol


[[30 40 70]
[80 20 10]
[50 90 60]]

Applying argmax() function:


7

Index of maximum number in flattened array


[30 40 70 80 20 10 50 90 60]

Array containing indices of maximum along axis 0:


[1 2 0]

Array containing indices of maximum along axis 1:


[2 0 1]

Applying argmin() function:


5

Flattened array:
10

Flattened array along axis 0:


[0 1 1]

Flattened array along axis 1:


[0 2 0]

numpy.nonzero ()
El numpy.nonzero() funcin devuelve los ndices de los
elementos distintos de cero en la matriz de entrada.

Ejemplo
import numpy as np
a = np.array([[30,40,0],[0,20,10],[50,0,60]])

print 'Our array is:'


print a
print '\n'

print 'Applying nonzero() function:'


print np.nonzero (a)

Se producir la siguiente salida -


http://www.w3ii.com/es/numpy/numpy_quick_guide.html 76/107
25/10/2017 Gua rpida NumPy

Our array is: TUTORIALES Espaol


[[30 40 0]
[ 0 20 10]
[50 0 60]]

Applying nonzero() function:


(array([0, 0, 1, 1, 2, 2]) , array([0, 1, 1, 2, 0, 2]) )

numpy.where ()
El where() funcin devuelve los ndices de elementos de una matriz de
entrada donde la condicin dada es satisfecho.

Ejemplo
import numpy as np
x = np.arange(9.) .reshape(3, 3)

print 'Our array is:'


print x

print 'Indices of elements > 3'


y = np.where(x > 3)
print y

print 'Use these indices to get elements satisfying the conditio


print x[y]

Se producir la siguiente salida -

Our array is:


[[ 0. 1. 2.]
[ 3. 4. 5.]
[ 6. 7. 8.]]

Indices of elements > 3


(array([1, 1, 2, 2, 2]) , array([1, 2, 0, 1, 2]) )

Use these indices to get elements satisfying the condition


[ 4. 5. 6. 7. 8.]

numpy.extract ()

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 77/107
25/10/2017 Gua rpida NumPy

El extract() funcin devuelve los elementos que satisfacen


TUTORIALES Espaol
cualquier condicin.

import numpy as np
x = np.arange(9.) .reshape(3, 3)

print 'Our array is:'


print x

# define a condition
condition = np.mod(x,2) == 0

print 'Element-wise value of condition'


print condition

print 'Extract elements using condition'


print np.extract(condition, x)

Se producir la siguiente salida -

Our array is:


[[ 0. 1. 2.]
[ 3. 4. 5.]
[ 6. 7. 8.]]

Element-wise value of condition


[[ True False True]
[False True False]
[ True False True]]

Extract elements using condition


[ 0. 2. 4. 6. 8.]

NumPy - intercambio de bytes


Hemos visto que los datos almacenados en la memoria de un
ordenador depende de que la arquitectura utiliza la CPU. Puede ser
ascendente hacia la izquierda (least significant is stored in the smallest
address) o big-endian (most significant byte in the smallest address) .

numpy.ndarray.byteswap ()
El numpy.ndarray.byteswap() la funcin alterna entre las dos
representaciones: bigendian y poco-endian.

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 78/107
25/10/2017 Gua rpida NumPy

import numpy as np TUTORIALES Espaol


a = np.array([1, 256, 8755], dtype = np.int16)

print 'Our array is:'


print a

print 'Representation of data in memory in hexadecimal form:'


print map(hex,a)
# byteswap() function swaps in place by passing True parameter

print 'Applying byteswap() function:'


print a.byteswap(True)

print 'In hexadecimal form:'


print map(hex,a)
# We can see the bytes being swapped

Se producir la siguiente salida -

Our array is:


[1 256 8755]

Representation of data in memory in hexadecimal form:


['0x1', '0x100', '0x2233']

Applying byteswap() function:


[256 1 13090]

In hexadecimal form:
['0x100', '0x1', '0x3322']

NumPy - Copias y Vistas


Durante la ejecucin de las funciones, algunas de ellas devolver una
copia de la matriz de entrada, mientras que algunos volver la vista.
Cuando los contenidos se almacenan fsicamente en otro lugar, se
llama Copy . Si por el contrario, se proporciona una vista diferente del
mismo contenido de la memoria, lo llamamos como View .

No se copia
tareas simples no hacen la copia del objeto de matriz. En su lugar, se
utiliza el mismo id() de la matriz original para acceder a ella. La id()
devuelve un identificador universal de objeto Python, similar al
http://www.w3ii.com/es/numpy/numpy_quick_guide.html 79/107
25/10/2017 Gua rpida NumPy

puntero en C.
TUTORIALES Espaol
Adems, cualquier cambio en cualquiera de los dos se refleja en el
otro. Por ejemplo, la forma cambiante de uno va a cambiar la forma
de la otra tambin.

Ejemplo
import numpy as np
a = np.arange(6)

print 'Our array is:'


print a

print 'Applying id() function:'


print id(a)

print 'a is assigned to b:'


b = a
print b

print 'b has same id() :'


print id(b)

print 'Change shape of b:'


b.shape = 3,2
print b

print 'Shape of a also gets changed:'


print a

Se producir la siguiente salida -

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 80/107
25/10/2017 Gua rpida NumPy

Our array is: TUTORIALES Espaol


[0 1 2 3 4 5]

Applying id() function:


139747815479536

a is assigned to b:
[0 1 2 3 4 5]
b has same id() :
139747815479536

Change shape of b:
[[0 1]
[2 3]
[4 5]]

Shape of a also gets changed:


[[0 1]
[2 3]
[4 5]]

Ver o copia superficial


NumPy tiene ndarray.view() mtodo que es un nuevo objeto de
matriz que se ve en los mismos datos de la matriz original. A
diferencia del caso anterior, el cambio en las dimensiones de la nueva
matriz no cambia las dimensiones del original.

Ejemplo

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 81/107
25/10/2017 Gua rpida NumPy

import numpy as np TUTORIALES Espaol


# To begin with, a is 3X2 array
a = np.arange(6) .reshape(3,2)

print 'Array a:'


print a

print 'Create view of a:'


b = a.view()
print b

print 'id() for both the arrays are different:'


print 'id() of a:'
print id(a)
print 'id() of b:'
print id(b)

# Change the shape of b. It does not change the shape of a


b.shape = 2,3

print 'Shape of b:'


print b

print 'Shape of a:'


print a

Se producir la siguiente salida -

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 82/107
25/10/2017 Gua rpida NumPy

Array a: TUTORIALES Espaol


[[0 1]
[2 3]
[4 5]]

Create view of a:
[[0 1]
[2 3]
[4 5]]

id() for both the arrays are different:


id() of a:
140424307227264
id() of b:
140424151696288

Shape of b:
[[0 1 2]
[3 4 5]]

Shape of a:
[[0 1]
[2 3]
[4 5]]

Rebanada de una matriz crea una vista.

Ejemplo
import numpy as np
a = np.array([[10,10], [2,3], [4,5]])

print 'Our array is:'


print a

print 'Create a slice:'


s = a[:, :2]
print s

Se producir la siguiente salida -

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 83/107
25/10/2017 Gua rpida NumPy

Our array is: TUTORIALES Espaol


[[10 10]
[ 2 3]
[ 4 5]]

Create a slice:
[[10 10]
[ 2 3]
[ 4 5]]

Copia profunda
El ndarray.copy() funcin crea una copia profunda. Es una copia
completa de la matriz y sus datos, y no comparte con la matriz
original.

Ejemplo
import numpy as np
a = np.array([[10,10], [2,3], [4,5]])

print 'Array a is:'


print a

print 'Create a deep copy of a:'


b = a.copy()
print 'Array b is:'
print b

#b does not share any memory of a


print 'Can we write b is a'
print b is a

print 'Change the contents of b:'


b[0,0] = 100

print 'Modified array b:'


print b

print 'a remains unchanged:'


print a

Se producir la siguiente salida -

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 84/107
25/10/2017 Gua rpida NumPy

Array a is: TUTORIALES Espaol


[[10 10]
[ 2 3]
[ 4 5]]

Create a deep copy of a:


Array b is:
[[10 10]
[ 2 3]
[ 4 5]]
Can we write b is a
False

Change the contents of b:


Modified array b:
[[100 10]
[ 2 3]
[ 4 5]]

a remains unchanged:
[[10 10]
[ 2 3]
[ 4 5]]

NumPy - Biblioteca Matrix


NumPy paquete contiene una biblioteca Matrix numpy.matlib . Este
mdulo tiene funciones que devuelven matrices en lugar de objetos
ndarray.

matlib.empty ()
El matlib.empty() funcin devuelve una nueva matriz sin
inicializar las entradas. La funcin toma los siguientes parmetros.

numpy.matlib.empty(shape, dtype, order)

Dnde,

S.No Parmetro y Descripcin

1. shape

int o tupla de int que define la forma de la nueva


matriz

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 85/107
25/10/2017 Gua rpida NumPy

2. Dtype TUTORIALES Espaol


Opcional. Tipo de datos de la salida

3. order

CoF

Ejemplo
import numpy.matlib
import numpy as np

print np.matlib.empty((2,2) )
# filled with random data

Se producir la siguiente salida -

[[ 2.12199579e-314, 4.24399158e-314]
[ 4.24399158e-314, 2.12199579e-314]]

numpy.matlib.zeros ()
Esta funcin devuelve la matriz llena con ceros.

import numpy.matlib
import numpy as np
print np.matlib.zeros((2,2) )

Se producir la siguiente salida -

[[ 0. 0.]
[ 0. 0.]])

numpy.matlib.ones ()
Esta funcin devuelve la matriz llena de 1s.

import numpy.matlib
import numpy as np
print np.matlib.ones((2,2) )

Se producir la siguiente salida -

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 86/107
25/10/2017 Gua rpida NumPy

[[ 1. 1.] TUTORIALES Espaol


[ 1. 1.]]

numpy.matlib.eye ()
Esta funcin devuelve una matriz con 1 a lo largo de los elementos de
la diagonal y los ceros en otras partes. La funcin toma los siguientes
parmetros.

numpy.matlib.eye(n, M,k, dtype)

Dnde,

S.No Parmetro y Descripcin

1. n

El nmero de filas de la matriz resultante

2. M

El nmero de columnas, por defecto n

3. k

ndice de diagonal

4. dtype

Tipo de datos de la salida

Ejemplo
import numpy.matlib
import numpy as np
print np.matlib.eye(n = 3, M = 4, k = 0, dtype = float)

Se producir la siguiente salida -

[[ 1. 0. 0. 0.]
[ 0. 1. 0. 0.]
[ 0. 0. 1. 0.]])

numpy.matlib.identity ()
http://www.w3ii.com/es/numpy/numpy_quick_guide.html 87/107
25/10/2017 Gua rpida NumPy

El numpy.matlib.identity() funcin devuelve la matriz identidad


TUTORIALES Espaol
de una dimensin dada. Una matriz de identidad es una matriz
cuadrada con todos los elementos de la diagonal como 1.

import numpy.matlib
import numpy as np
print np.matlib.identity(5, dtype = float)

Se producir la siguiente salida -

[[ 1. 0. 0. 0. 0.]
[ 0. 1. 0. 0. 0.]
[ 0. 0. 1. 0. 0.]
[ 0. 0. 0. 1. 0.]
[ 0. 0. 0. 0. 1.]]

numpy.matlib.rand ()
El numpy.matlib.rand() funcin devuelve una matriz de una
dimensin dada lleno de valores aleatorios.

Ejemplo
import numpy.matlib
import numpy as np
print np.matlib.rand(3,3)

Se producir la siguiente salida -

[[ 0.82674464 0.57206837 0.15497519]


[ 0.33857374 0.35742401 0.90895076]
[ 0.03968467 0.13962089 0.39665201]]

Note que una matriz es siempre de dos dimensiones, mientras


que ndarray es una matriz n-dimensional. Tanto los objetos son
inter-convertibles.

Ejemplo
import numpy.matlib
import numpy as np

i = np.matrix('1,2;3,4')
print i

Se producir la siguiente salida -

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 88/107
25/10/2017 Gua rpida NumPy

[[1 2] TUTORIALES Espaol


[3 4]]

Ejemplo
import numpy.matlib
import numpy as np

j = np.asarray(i)
print j

Se producir la siguiente salida -

[[1 2]
[3 4]]

Ejemplo
import numpy.matlib
import numpy as np

k = np.asmatrix (j)
print k

Se producir la siguiente salida -

[[1 2]
[3 4]]

NumPy - lgebra Lineal


NumPy paquete contiene numpy.linalg mdulo que proporciona
toda la funcionalidad necesaria para el lgebra lineal. Algunas
de las funciones importantes de este mdulo se describen en la
siguiente tabla.

S.No Funcin descriptiva

1. punto (numpy_dot.html)
Dot producto de las dos matrices

2. VDOT (numpy_vdot.html)
Dot producto de los dos vectores

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 89/107
25/10/2017 Gua rpida NumPy

3. interior (numpy_inner.html)TUTORIALES Espaol


producto interno de las dos matrices

4. matmul (numpy_matmul.html)
producto de matriz de las dos matrices

5. determinante (numpy_determinant.html)
Calcula el determinante de la matriz

6. resolver (numpy_solve.html)
Resuelve la ecuacin matricial lineal

7. inv (numpy_inv.html)
Busca el inverso multiplicativo de la matriz

NumPy - Matplotlib
Matplotlib es una biblioteca de trazado para Python. Se utiliza junto
con NumPy para proporcionar un ambiente que es una alternativa de
cdigo abierto eficaz para MatLab. Tambin se puede utilizar con
herramientas grficas como PyQt y wxPython.

matplotlib mdulo fue escrito por John D. Hunter. Desde 2012, Michael
Droettboom es el principal desarrollador. Actualmente, Matplotlib ver.
1.5.1 es la versin estable disponible. El paquete est disponible en la
distribucin binaria, as como en la forma de cdigo fuente en
www.matplotlib.org (http://www.matplotlib.org/index.html) .

Convencionalmente, el paquete se importa en la secuencia de


comandos de Python, aadiendo la siguiente declaracin -

from matplotlib import pyplot as plt

Aqu pyplot() es la funcin ms importante en la biblioteca


matplotlib, que se utiliza para representar grficamente los
datos en 2D. La siguiente secuencia de comandos traza la ecuacin y
= 2x + 5

Ejemplo

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 90/107
25/10/2017 Gua rpida NumPy

import numpy as np TUTORIALES Espaol


from matplotlib import pyplot as plt

x = np.arange(1,11)
y = 2 * x + 5
plt.title("Matplotlib demo")
plt.xlabel("x axis caption")
plt.ylabel("y axis caption")
plt.plot(x,y)
plt.show()

Un objeto ndarray x se crea a partir np.arange() funcin que los


valores en el x axis . Los valores correspondientes en el y axis se
almacenan en otro ndarray object y . Estos valores se
representaron usando plot() la funcin del submdulo pyplot de
paquete matplotlib.

La representacin grfica se muestra por show() funcin.

El cdigo anterior debe producir la siguiente salida -

En lugar de la grfica lineal, los valores se pueden visualizar de forma


discreta mediante la adicin de una cadena de formato a la plot()
funcin. Siguiendo los caracteres de formato se puede utilizar.

Personaje Descripcin

'-' estilo de lnea slida

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 91/107
25/10/2017 Gua rpida NumPy

'-' estilo de lnea discontinua


TUTORIALES Espaol

'-.' estilo de lnea de puntos y rayas

':' estilo de lnea punteada

'' marcador de punto

'' marcador de pxeles

'O' marcador de crculo

'V' marcador Triangle_down

'^' marcador Triangle_up

'<' marcador Triangle_left

'>' marcador Triangle_right

'1' marcador Tri_down

'2' marcador Tri_up

'3' marcador Tri_left

'4' marcador Tri_right

'S' marcador de la plaza

'pag' marcador Pentgono

'*' marcador de estrella

'marido' marcador Hexagon1

'MARIDO' marcador Hexagon2

'+' adems marcador

'x' X marcador

'RE' marcador de diamante

're' marcador Thin_diamond

'|' marcador vline

'_' marcador hLINE

Tambin se definen las siguientes abreviaturas de color.

Personaje Color

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 92/107
25/10/2017 Gua rpida NumPy

'segundo' TUTORIALES Azul Espaol

'gramo' Verde

'R' rojo

'do' cian

'metro' Magenta

'Y' Amarillo

'K' Negro

'W' Blanco

Para mostrar los crculos que representan puntos, en lugar de la lnea


en el ejemplo anterior, utilizar ob como la cadena de formato en
plot() funcin.

Ejemplo
import numpy as np
from matplotlib import pyplot as plt

x = np.arange(1,11)
y = 2 * x + 5
plt.title("Matplotlib demo")
plt.xlabel("x axis caption")
plt.ylabel("y axis caption")
plt.plot(x,y,"ob")
plt.show()

El cdigo anterior debe producir la siguiente salida -

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 93/107
25/10/2017 Gua rpida NumPy

TUTORIALES Espaol

Terreno de onda sinusoidal


La siguiente secuencia de comandos produce la sine wave plot
utilizando matplotlib.

Ejemplo
import numpy as np
import matplotlib.pyplot as plt

# Compute the x and y coordinates for points on a sine curve


x = np.arange(0, 3 * np.pi, 0.1)
y = np.sin(x)
plt.title("sine wave form")

# Plot the points using matplotlib


plt.plot(x, y)
plt.show()

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 94/107
25/10/2017 Gua rpida NumPy

TUTORIALES Espaol

subtrama ()
La subplot() funcin le permite dibujar cosas diferentes en la misma
figura. En el siguiente script, sine y cosine values se trazan.

Ejemplo

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 95/107
25/10/2017 Gua rpida NumPy

import numpy as np TUTORIALES Espaol


import matplotlib.pyplot as plt

# Compute the x and y coordinates for points on sine and cosine


x = np.arange(0, 3 * np.pi, 0.1)
y_sin = np.sin(x)
y_cos = np.cos(x)

# Set up a subplot grid that has height 2 and width 1,


# and set the first such subplot as active.
plt.subplot(2, 1, 1)

# Make the first plot


plt.plot(x, y_sin)
plt.title('Sine')

# Set the second subplot as active, and make the second plot.
plt.subplot(2, 1, 2)
plt.plot(x, y_cos)
plt.title('Cosine')

# Show the figure.


plt.show()

El cdigo anterior debe producir la siguiente salida -

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 96/107
25/10/2017 Gua rpida NumPy

bar() TUTORIALES Espaol

El pyplot submodule ofrece bar() la funcin para generar


grficos de barras. El siguiente ejemplo produce el grfico de barras
de dos conjuntos de x y y arrays.

Ejemplo
from matplotlib import pyplot as plt
x = [5,8,10]
y = [12,16,6]

x2 = [6,9,11]
y2 = [6,15,7]
plt.bar(x, y, align = 'center')
plt.bar(x2, y2, color = 'g', align = 'center')
plt.title('Bar graph')
plt.ylabel('Y axis')
plt.xlabel('X axis')

plt.show()

NumPy - Histograma Usando


Matplotlib
NumPy tiene una numpy.histogram() funcin que es una
representacin grfica de la distribucin de frecuencias de los
datos. Los rectngulos de tamao igual horizontal correspondientes a
intervalo de clase llamados bin y variable height correspondiente
a la frecuencia.

numpy.histogram ()
El numpy.histogram() funcin toma la matriz de entrada y
contenedores como dos parmetros. Los elementos sucesivos en bin
matriz actan como el lmite de cada bin.

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 97/107
25/10/2017 Gua rpida NumPy

import numpy as np TUTORIALES Espaol

a = np.array([22,87,5,43,56,73,55,54,11,20,51,5,79,31,27])
np.histogram(a,bins = [0,20,40,60,80,100])
hist,bins = np.histogram(a,bins = [0,20,40,60,80,100])
print hist
print bins

Se producir la siguiente salida -

[3 4 5 2 1]
[0 20 40 60 80 100]

plt ()
Matplotlib puede convertir esta representacin numrica de
histograma en un grfico. The plt() function of pyplot submodule
takes the array containing the data and bin array as parameters and
converts into a histogram.

from matplotlib import pyplot as plt


import numpy as np

a = np.array([22,87,5,43,56,73,55,54,11,20,51,5,79,31,27])
plt.hist(a, bins = [0,20,40,60,80,100])
plt.title("histogram")
plt.show()

Debe producir la siguiente salida -

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 98/107
25/10/2017 Gua rpida NumPy

TUTORIALES Espaol

I/O with NumPy


The ndarray objects can be saved to and loaded from the disk files.
The IO functions available are

load() and save() functions handle /numPy binary files (with


npy extension)

loadtxt() and savetxt() functions handle normal text files

NumPy introduces a simple file format for ndarray objects. This .npy
file stores data, shape, dtype and other information required to
reconstruct the ndarray in a disk file such that the array is correctly
retrieved even if the file is on another machine with different
architecture.

numpy.save()
The numpy.save() file stores the input array in a disk file with npy
extension.

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 99/107
25/10/2017 Gua rpida NumPy

import numpy as np TUTORIALES Espaol


a = np.array([1,2,3,4,5])
np.save('outfile',a)

To reconstruct array from outfile.npy , use load() function.

import numpy as np
b = np.load('outfile.npy')
print b

Se producir la siguiente salida -

array([1, 2, 3, 4, 5])

The save() and load() functions accept an additional Boolean


parameter allow_pickles . A pickle in Python is used to serialize and
de-serialize objects before saving to or reading from a disk file.

savetxt()
The storage and retrieval of array data in simple text file format is
done with savetxt() and loadtxt() functions.

Ejemplo
import numpy as np

a = np.array([1,2,3,4,5])
np.savetxt('out.txt',a)
b = np.loadtxt('out.txt')
print b

Se producir la siguiente salida -

[ 1. 2. 3. 4. 5.]

The savetxt() and loadtxt() functions accept additional optional


parameters such as header, footer, and delimiter.

Anterior (numpy_with_io.html)

Siguiente Captulo (numpy_useful_resources.html)

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 100/107
25/10/2017 Gua rpida NumPy

TUTORIALES Espaol

Enlaces patrocinados

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 101/107
25/10/2017 Gua rpida NumPy

TUTORIALES Espaol

Inicio (http://www.w3ii.com/es/index.html) HTML Tutorial (http://www.w3big.com/es/)


Bootstrap (http://www.bootstrap1.com/es/) Foro (http://www.w3iz.com) That is
America (http://en-US.that-is-america.com)
2017 W3im.com. All Rights Reserved. Email: jacklee8902@gmail.com

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 102/107
25/10/2017 Gua rpida NumPy

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 103/107
25/10/2017 Gua rpida NumPy

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 104/107
25/10/2017 Gua rpida NumPy

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 105/107
25/10/2017 Gua rpida NumPy

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 106/107
25/10/2017 Gua rpida NumPy

http://www.w3ii.com/es/numpy/numpy_quick_guide.html 107/107

Vous aimerez peut-être aussi