Python 3 Numpy
Python 3 Numpy
Python 3 Numpy
Tutorial de Python Tutorial de IPython Tutorial de EasyGUI Tutorial de Tkinter Tutorial de JupyterLab
Buscar
Comparar arrays en Numpy
Python para impacientes
Anexos
Entradas + populares
En Numpy hay funciones que facilitan la tarea de comparar los elementos de un array con un Tkinter: interfaces gráficas en Python
Introducción Con Python hay muchas
valor o con los valores de otro array para saber si son mayores, iguales, menores, distintos, etc.,
posibilidades para programar una interfaz
para verificar si todos los valores o alguno son True (o tienen un valor distinto de 0), para gráfica de usuario ( GUI ) pero Tkinter es
obtener los valores máximos o mínimos y funciones para evaluar el resultado de operaciones a fácil de...
nivel binario.
Operaciones con fechas y horas.
Calendarios
Los módulos datetime y calendar amplían
Funciones para comparar arrays las posibilidades del módulo time que
provee funciones para manipular
expresiones de ti...
greater(), less(), equal(), not_equal(), ...
Gráficos en IPython
Estos métodos comparan los elementos de un array con un valor o con los elementos de otro Unos de los motivos que inspiraron el
array, elemento a elemento, y devuelven un array con valores booleanos (True y False) según desarrollo de IPython fue contar con una
herramienta que uniera la posibilidad de
sea el resultado de la comparación: mayor que, mayor o igual que, menor que, menor o igual realizar cálcu...
que, igual que o distinto con los métodos greater(), greater_equal(), less(), less_equal(),
equal() y not_equal(), respectivamente. Operaciones con archivos CSV
Un archivo CSV (de Valores Separados por
Comas) es un tipo de documento que
representa los datos de forma parecida a
# Devuelve True si el elemento del array a es mayor que 2. una tabla, es d...
Devuelve True si todos los elementos del array son True o tienen valores que son distinto de 0.
Archivo
https://python-para-impacientes.blogspot.com 1/17
14/1/2020 Python 3 para impacientes
a = np.array([True, True, False]) Archivo
estado = a.all()
print(estado)
Twitter
# False
b = np.array([5, 4, 4])
estado = b.all()
print(estado) Sitios
# True ActivePython
Anaconda
Bpython
Django
any() Flask
Ipython
Devuelve True si alguno de los elementos del array es True o un valor distinto de 0. IronPython
Matplotlib
# False Pypi
PyPy
Pyramid
Python.org
Funciones para comparar arrays y obtener máximos o mínimos PyTorch
SciPy.org
maximum() Spyder
Tensorflow
Obtener valores máximos. TurboGears
a = np.array([0, 9, 3, 7])
b = np.array([0, 2, 7, 4])
c = np.maximum(a, b)
print(c)
# [0 9 7 7]
a = np.array([0, 9, 3, 7])
c = np.maximum(a, 5)
print(c)
# [5 9 5 7]
minimum()
a = np.array([0, 9, 3, 7])
b = np.array([0, 2, 7, 4])
c = np.minimum(a, b)
print(c)
# [0 2 3 4]
a = np.array([0, 9, 3, 7])
c = np.minimum(a, 5)
print(c)
# [0 5 3 5]
https://python-para-impacientes.blogspot.com 2/17
14/1/2020 Python 3 para impacientes
Funciones para evaluar operaciones a nivel binario
Estos métodos operan a nivel binario los elementos de un array con un valor o con los elementos
de otro array, elemento a elemento, y devuelven un array con valores booleanos (True y False)
según sea el resultado de la operación 0 o distinto de 0 con los métodos logical_and(),
logical_or(), logical_xor(), logical_not(), entre otros.
a = np.array([0, 0, 1, 0])
b = np.array([0, 0, 1, 0])
c = np.logical_and(a, b)
print(c)
a = np.array([0, 2, 3, 7])
b = np.array([0, 2, 7, 4])
c = np.logical_or(a, b)
print(c)
# Operación:
# 000 010 011 111
# 000 010 111 100
# --- --- --- ---
# 000 010 111 111
Etiquetas: Numpy
Numpy ofrece todo lo necesario para obtener un buen rendimiento cuando se trata de hacer
cálculos con arrays. Por como está concebida la biblioteca es una de sus principales virtudes si
lo comparamos con los cálculos que pueden realizarse en Python con otras estructuras de datos
como listas, tuplas y diccionarios.
Numpy permite realizar la misma operación aritmética con cada elemento de un array por
separado y operar con arrays de igual o distintas dimensiones.
También cuenta con funciones matemáticas que abarcan distintas necesidades para operar con
todos los elementos de un array o por ejes, sin olvidar el cálculo a nivel binario, estadístico y con
números reales.
Con Numpy se puede operar un mismo valor con todos los elementos del array, elemento a
elemento, utilizando los símbolos matemáticos: + (sumar), - (restar), * (multiplicar), / (dividir), //
(dividir, cociente como entero), ** (potenciación).
https://python-para-impacientes.blogspot.com 3/17
14/1/2020 Python 3 para impacientes
a = np.array([(1, 2, 3), (4, 5, 6)])
a = a + 1
print(a)
# [[2 3 4]
# [5 6 7]]
[[0 1 2]
[3 4 5]]
# [[ 5 10 15]
# [20 25 30]]
# [[0.5 1. 1.5]
# [2. 2.5 3. ]]
# [[0 1 1]
# [2 2 3]]
[[ 1 4 9]
[16 25 36]]
Los mismos símbolos matemáticos (+, -, *, /, //, **) también se pueden utilizar para realizar
operaciones aritméticas con dos arrays con las mismas dimensiones, elemento a elemento.
# [[1 2 3]
# [4 5 6]]
print(b)
# [[1. 1. 1.]
# [1. 1. 1.]]
print(c)
# [[2. 3. 4.]
# [5. 6. 7.]]
c = a - b
print(c)
# [[0. 1. 2.]
# [3. 4. 5.]]
Es una característica avanzada de Numpy para realizar operaciones aritméticas con arrays de
distintas dimensiones, elemento a elemento, utilizando los símbolos matemáticos (+, -, *, /, //, **).
Estas operaciones son posibles cuando el array resultante tiene la misma dimensión que al
menos uno de los arrays operados.
En el ejemplo siguiente el array a tiene 3 elementos por fila que coincide con el número de
https://python-para-impacientes.blogspot.com 4/17
14/1/2020 Python 3 para impacientes
elementos del array b. Numpy para realizar el cálculo suma cada fila de a con los elementos de
b, elemento a elemento:
a = np.ones((3, 3))
b = np.array([1, 2, 3])
c = a + b
# a b c
# 1, 1, 1 1, 2, 3 2, 3, 4
# 1, 1, 1 + 1, 2, 3 = 2, 3, 4
# 1, 1, 1 1, 2, 3 2, 3, 4
En el ejemplo que sigue el array a tiene 3 elementos por columna que coincide con los
elementos del array b. Numpy para realizar el cálculo suma cada columna de a con los
elementos de b, elemento a elemento:
a = np.ones((3, 3))
b = np.array([[5], [10], [15]])
# 1, 1, 1 5, 5, 5 6, 6, 6
# 1, 1, 1 + 10, 10, 10 = 11, 11, 11
# 1, 1, 1 15, 15, 15 16, 16, 16
add()
# [[2. 3. 4.]
# [5. 6. 7.]]
subtract()
# [[0. 1. 2.]
# [3. 4. 5.]]
multiply()
# [[ 2 4 6]
# [12 15 18]]
dot()
# [[ 4 8 12]
# [16 20 24]]
https://python-para-impacientes.blogspot.com 5/17
14/1/2020 Python 3 para impacientes
El producto de dos arrays se realiza utilizando el operador @ (a partir de Python 3.5) o con la
función np.dot() de Numpy.
# [[ 6. 6.]
# [15. 15.]]
c = a.dot(b)
print(c)
# [[ 6. 6.]
# [15. 15.]]
divide()
# [[1. 2. 3. ]
# [2. 2.5 3. ]]
mod()
[[0 0 0]
[0 1 0]]
divmod()
negative()
# [[-1.5 2. -3.1]
# [ 4.8 -5.4 6.6]]
https://python-para-impacientes.blogspot.com 6/17
14/1/2020 Python 3 para impacientes
rint()
# [[1.5 2. 3.1]
# [4.8 5.4 6.6]]
b = np.rint(a)
print(b)
# [[2. 2. 3.]
# [5. 5. 7.]]
sqrt()
exp()
power()
# [[ 1 32 243]
# [1024 3125 7776]]
# [[ 1 4 9]
# [ 64 125 216]]
sin()
https://python-para-impacientes.blogspot.com 7/17
14/1/2020 Python 3 para impacientes
cos()
tan()
log()
add.reduce()
# Obtener array con la suma de los elementos de las filas (eje 0).
# [5 7 9]
a = np.array([1, 2, 3, 4, 5, 6])
b = np.add.reduce(a) # Es equivalente a np.sum(a)
print(b)
# 21
# Obtener array con la suma de los elementos de las columnas (eje 1).
# [ 6 15]
# 21
multiply.reduce()
Obtener array con la multiplicación de los elementos de las filas (eje 0).
https://python-para-impacientes.blogspot.com 8/17
14/1/2020 Python 3 para impacientes
a = np.array([(1, 2, 3), (4, 5, 6)])
b = np.multiply.reduce(a, axis=0)
print(b)
# [ 4 10 18]
add.accumulate()
# [[1 2 3]
# [5 7 9]]
multiply.accumulate()
# [[ 1 2 6]
# [ 4 20 120]]
add.reduceat()
a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
# [15 40]
multiply.reduceat()
a = np.arange(20).reshape(5, 4)
b = np.multiply.reduceat(a, [0,2], axis=1)
print(a)
# [[ 0 1 2 3]
# [ 4 5 6 7]
# [ 8 9 10 11]
# [12 13 14 15]
# [16 17 18 19]]
print(b)
# [[ 0 6]
# [ 20 42]
# [ 72 110]
# [156 210]
# [272 342]]
add.outer()
Obtener array 2D a partir de sumar dos arrays 2D creados con datos repetidos de 2 vectores.
En el primer array se repiten los datos de a por columnas y en el segundo los de b por filas.
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
c = np.add.outer(a, b)
print(a)
https://python-para-impacientes.blogspot.com 9/17
14/1/2020 Python 3 para impacientes
# [1 2 3]
print(b)
# [4 5 6]
print(c)
# [[5 6 7]
# [6 7 8]
# [7 8 9]]
# 1 1 1 4 5 6 5 6 7
# 2 2 2 + 4 5 6 = 6 7 8
# 3 3 3 4 5 6 7 8 9
Obtener array 4D a partir de sumar arrays 2D creados con datos repetidos de 2 arrays 2D.
En cada suma en el primer array se repiten los datos de una fila del array a por columnas y en el
segundo los datos de una fila del array b por filas.
a = np.repeat([[1,2,3]], 3, axis=0)
b = np.arange(9).reshape(3, 3)
c = np.add.outer(a, b)
print(c.ndim)
# 4
print(a)
# [[1 2 3]
# [1 2 3]
# [1 2 3]]
print(b)
# [[0 1 2]
# [3 4 5]
# [6 7 8]]
print(c)
# [[[[ 1 2 3]
# [ 4 5 6]
# [ 7 8 9]]
#
# [[ 2 3 4]
# [ 5 6 7]
# [ 8 9 10]]
#
# [[ 3 4 5]
# [ 6 7 8]
# [ 9 10 11]]]
#
# [[[ 1 2 3]
# [ 4 5 6]
# [ 7 8 9]]
#
# [[ 2 3 4]
# [ 5 6 7]
# [ 8 9 10]]
#
# [[ 3 4 5]
# [ 6 7 8]
# [ 9 10 11]]]
#
# [[[ 1 2 3]
# [ 4 5 6]
# [ 7 8 9]]
#
# [[ 2 3 4]
# [ 5 6 7]
# [ 8 9 10]]
#
# [[ 3 4 5]
# [ 6 7 8]
# [ 9 10 11]]]]
multiply.outer()
https://python-para-impacientes.blogspot.com 10/17
14/1/2020 Python 3 para impacientes
Obtener array 2D a partir de multiplicar dos arrays 2D creados con datos repetidos de 2
vectores.
En el primer array se repiten los datos de a por columnas y en el segundo los de b por filas.
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
c = np.multiply.outer(a, b)
print(a)
# [1 2 3]
print(b)
# [4 5 6]
print(c)
# [[ 4 5 6]
# [ 8 10 12]
# [12 15 18]]
# 1 1 1 4 5 6 4 5 6
# 2 2 2 x 4 5 6 = 8 10 12
# 3 3 3 4 5 6 12 15 18
add.at()
a = np.array([1, 2, 3])
np.add.at(a, [0, 2], 5)
print(a)
# [6, 2, 8]
multiply.at()
Modificar el array multiplicando por un valor solo elementos que cumplen una condición.
# [ 20 67 70 110]
power.at()
a = np.array([1, 2, 3])
np.power.at(a, [1, 2], 3)
print(a)
# [ 1 8 27]
Operaciones binarias
bitwise_and()
# 2
https://python-para-impacientes.blogspot.com 11/17
14/1/2020 Python 3 para impacientes
# Calcular el producto lógico de los elementos de un
# array con un número, elemento a elemento.
# [[1 2 3]
# [0 1 2]]
# [[1 0 1]
# [0 1 6]]
bitwise_or()
# [[1 2 3]
# [4 5 7]]
bitwise_xor()
# [[0 2 2]
# [4 4 1]]
invert()
https://python-para-impacientes.blogspot.com 12/17
14/1/2020 Python 3 para impacientes
valor = 25
a = np.invert(np.array(valor, dtype=np.uint8))
print(a)
# 230
# 25 -> 00011001
# 230 -> 11100110
binary_repr()
a = np.bitwise_and(6, 3)
b = np.binary_repr(a, width=8)
print(a)
# 2
print(b)
# 00000010
Cálculo Estadístico
max()
a = np.array([1, 2, 3, 4, 5])
maximo = a.max()
print(maximo)
# 5
# 6
# [4, 5, 6]
argmax()
# 5
https://python-para-impacientes.blogspot.com 13/17
14/1/2020 Python 3 para impacientes
indices = a.argmax(axis=0)
print(indices)
# [1 1 0]
min()
a = np.array([1, 2, 3, 4, 5])
minimo = a.min()
print(minimo)
# 1
# 1
# [1 4]
ptp()
# 5
# [3 3 4]
clip()
a = np.array([(1, 3, 5, 7, 3, 1)])
a = a.clip(3, 6)
print(a)
# [[3 3 5 6 3 3]]
round()
https://python-para-impacientes.blogspot.com 14/17
14/1/2020 Python 3 para impacientes
trace()
# 8
sum()
# 21
cumsum()
# [10 30 60 70 80 90]
mean()
# 3.5
var()
# 2.9166666666666665
std()
# 1.707825127659933
https://python-para-impacientes.blogspot.com 15/17
14/1/2020 Python 3 para impacientes
prod()
# 720
cumprod()
Obtener array con las multiplicaciones acumuladas de los valores del array.
# [ 1 2 6 24 120 720]
median()
Calcular la mediana.
# 3.5
# [2. 5.]
floor()
# [-2. 0. 1. 2. 2. 3.]
ceil()
# [-1. 1. 2. 3. 3. 3.]
trunc()
# [-1. 0. 1. 2. 2. 3.]
https://python-para-impacientes.blogspot.com 16/17
14/1/2020 Python 3 para impacientes
Etiquetas: Numpy
https://python-para-impacientes.blogspot.com 17/17