#al inicio ponemos las dos siguientes líneas
from datetime import datetime
fecha1=datetime.now()
#al final ponemos las tres siguientes líneas
fecha2=datetime.now()
diferencia=fecha2-fecha1
print(diferencia.seconds, "segundos")
viernes, 16 de marzo de 2018
¿Cuánto tiempo tarda un proceso en Python?
Si estamos programando un procedimiento y deseamos conocer cuántos segundos ha tardado en realizarse ponemos incluir unas líneas al principio y otras al final que nos darán la duración total del programa.
domingo, 4 de marzo de 2018
Regresión polinómica en Python
Utilizando NumPy podemos realizar una regresión polinómica en Python con muy pocas líneas de código.
Disponemos de la variable x
x=[0,1,2,3,4,5,6,7,8,9]
Disponemos de la variable y
y=[8,6,10,20,36,58,86,120,160,206]
En este caso hemos elegido valores de y que se ajustan perfectamente al polinomio de grado 2 siguiente.
3x2-5x+8
Veamos el código.
Este es el resultado.
y=[7.4,6.1,10,19.6,35.3,56.5,86.3,120,158.2,206.1]
Vemos que ahora el polinomio que obtenemos es diferente al ser distintos los valores de la variable y.
La siguiente página es una wiki recomendable para comparar diferentes lenguajes de programación. Os dejo el enlace que trata precisamente el tema de la regresión polinómica.
http://www.rosettacode.org/wiki/Polynomial_regression
Disponemos de la variable x
x=[0,1,2,3,4,5,6,7,8,9]
Disponemos de la variable y
y=[8,6,10,20,36,58,86,120,160,206]
En este caso hemos elegido valores de y que se ajustan perfectamente al polinomio de grado 2 siguiente.
3x2-5x+8
Veamos el código.
#vamos a calcular una regresión polinómica con ayuda de NumPy
from numpy import poly1d,polyfit
x=[0,1,2,3,4,5,6,7,8,9]
y=[8,6,10,20,36,58,86,120,160,206]
p = poly1d(polyfit(x, y, deg=2), variable='x')
print(p)
Este es el resultado.
Con valores aleatorios
Ahora vamos a cambiar los valores de la variable y, añadiendo cierta aleatoriedad que hemos obtenido con una distribución normal inversa que usa como media los valores anteriores de la variable y.y=[7.4,6.1,10,19.6,35.3,56.5,86.3,120,158.2,206.1]
Vemos que ahora el polinomio que obtenemos es diferente al ser distintos los valores de la variable y.
Referencia
La siguiente página es una wiki recomendable para comparar diferentes lenguajes de programación. Os dejo el enlace que trata precisamente el tema de la regresión polinómica.
http://www.rosettacode.org/wiki/Polynomial_regression
sábado, 3 de marzo de 2018
Usar arrays en Python con NumPy
En Python podemos usar un array de una dimensión pero cuando necesitamos usar matrices multidimensionales necesitamos usar NumPy.
En Python una matriz unidimensional, sin llamar a NumPy, puede ser una lista o un array.
o bien, usando array
Para un tratamiento matemático de las matrices y vectores se recomienda usar NumPy. Además proporciona tratamiento de matrices multidimensionales.
Comencemos viendo cómo crear un array.
En el último print se imprimen con coma flotantes los valores porque todos han de ser del mismo tipo, y hemos realizado una división.
Veamos ahora otro ejemplo donde únicamente importamos las funciones de NumPy que nos interesan.
En Python una matriz unidimensional, sin llamar a NumPy, puede ser una lista o un array.
miLista=[1,2,3]
o bien, usando array
Importando NumPy
Para un tratamiento matemático de las matrices y vectores se recomienda usar NumPy. Además proporciona tratamiento de matrices multidimensionales.Comencemos viendo cómo crear un array.
#Vamos a trabajar con numpy haciendo algunas matrices basicas
import numpy as np
a = np.array([1, 2, 3]) # Crea un array de una dimensión
b = np.array([[1,2,3,4], [5,6,7,8], [9,10,11,12]])
# Ha creado un array de 3 dimensiones
print(type(a)) # Imprime "<class 'numpy.ndarray'>"
print(type(b)) # Imprime "<class 'numpy.ndarray'>"
print(a.shape) # Imprime "(3,)"
print(b.shape) # Imprime "(3,4)"
print(a[0], a[1], a[2]) # Imprime "1 2 3"
print(b[0],b[1],b[2]) # Imprime "[1 2 3 4] [5 6 7 8] [ 9 10 11 12]"
print(b[0,2]) # Imprime 3
a[0] = 5 # Cambia un elemento en un array
b[2,3]=-1 # Cambia el 12 por un -1
print(a) # Imprime "[5, 2, 3]"
print(b) # Imprime "[1 2 3 4] [5 6 7 8] [ 9 10 11 -1]"
c = np.array([[1/2,2,3],[4,5,6]]) # Crea una matriz de dimensión 2
print(c.shape) # Imprime "(2, 3)"
print(c[0, 0], c[0, 1], c[1, 0]) # Imprime "0.5 2.0 4.0"
En el último print se imprimen con coma flotantes los valores porque todos han de ser del mismo tipo, y hemos realizado una división.
Veamos ahora otro ejemplo donde únicamente importamos las funciones de NumPy que nos interesan.
# continuamos con arrays en Python
from numpy import log, sin, cos, array
a=[log(1),1,2,3,4,5,6,7,8,9] # creamos una lista
b=array(a) # convertimos la lista en un array
print('la variable a es de tipo',type(a),' y es:')
print(a)
print('la variable b es de tipo',type(b),' y es:')
print(b)
Suscribirse a:
Entradas (Atom)