Introduccion A Python - Agosto 2024
Introduccion A Python - Agosto 2024
de Bioseñales
Introducción a Python
Ingeniería Biomédica
Universidad Autónoma de Ciudad Juárez
Agosto – diciembre 2024
Introducción
¿Que es Python?
– Los número complejos se expresan como: a + bj, donde “a” es la parte real y “b”
es la parte imaginaria
– Los índices pueden ser negativos, en cuyo caso nos retornan desde el último caracter de la
cadena, como en el ejemplo:
In [25]: f[-1]
Out[25]: 'n'
In [26]: f[-2]
Out[26]: 'a’
– Uso del operador “:” en la indexación. Ejemplo: X[i : j], nos muestra los caracteres de la
cadena X, comenzando con el de índice i, hasta el índice j-1.
In [28]: mensaje='Python'
In [29]: mensaje[0:4]
Out[29]: 'Pyth'
Dr. José David Díaz R.
Manejo de cadena de caracteres
In [37]: mensaje[:3] #retorna los caracteres desde el inicio hasta el de índice 3-1
Out[37]: 'Pyt'
In [38]: mensaje[3:] #retorna los caracteres desde el de índice 3 hasta el último
Out[38]: 'hon’
– Se puede escribir como una lista de valores (elementos) separados por comas entre
corchetes.
– Las listas pueden contener elementos de diferentes tipos, pero generalmente todos
los elementos tienen el mismo tipo.
>>> numeros = [ ] # crea una lista vacia
>>> numeros = [1, 4, 9.1, 16, 25.07]#lista de números
>>> letras = ['a', 'b', 'c', 'd', 'e', 'f', 'g'] #lista de letas
In [32]: dias_vividos
Out[32]:
'4343434343434343434343434343434343434343434343434343434343434343434343
4343434343434343434343434343434343434343434343434343434343434343434343
4343434343434343434343434343434343434343434343434343434343434343434343
4343434343434343434343434343434343434343434343434343434343434343434343
4343434343434343434343434343434343434343434343434343434343434343434343
4343434343434343434343434343434343434343434343434343434343434343434343
4343434343434343434343434343434343434343434343434343434343434343434343
4343434343434343434343434343434343434343434343434343434343434343434343
4343434343434343434343434343434343434343434343434343434343434343434343
4343434343434343434343434343434343434343434343434343434343434343434343
434343434343434343434343434343'
In [37]: dias_vividos
Out[37]: 15695
– math.factorial(x): Factorial de x.
In [43]: x = np.array([2,3,1,0])
In [44]: x.shape
Out[44]: (4,)
In [45]: y=np.ones((3,4))
In [46]: y.shape
Out[46]: (3, 4)
• Reglas generales:
– Cuando se opera en dos arreglos, NumPy primero compara sus
formas. Dos dimensiones son compatibles cuando:
• Las dimensiones son iguales,
• Algunas de las dimesiones es igual a 1.
In [101]: xx+y
Out[101]:
array([[1., 1., 1., 1., 1.],
[2., 2., 2., 2., 2.],
[3., 3., 3., 3., 3.],
[4., 4., 4., 4., 4.]])
HdPyS - Dr. José David Díaz R.
NumPy
In [102]: x+z
Out[102]:
array([[1., 2., 3., 4.],
[1., 2., 3., 4.],
[1., 2., 3., 4.]])
logical_or(a,b) element-by-element OR
unique(a)
plt.figure('Figura 1')
plt.plot(t,s)
plt.title('Grafica de una señal')
plt.xlabel(‘tiempo (s)')
plt.ylabel(‘voltaje (mV)’)
plt.grid()
plt.show()
ax.plot(t,s)
ax.set(xlabel='tiempo (s)', ylabel='voltaje (mV)',
title='Grafica de una señal')
ax.grid()
plt.show()
ax.grid()
ax.legend()
plt.show()
x1 = np.linspace(0.0, 5.0)
x2 = np.linspace(0.0, 2.0)
y1 = np.cos(2 * np.pi * x1) * np.exp(-x1)
y2 = np.cos(2 * np.pi * x2)
img = plt.imread('Eyeback.bmp')
fig, ax = plt.subplots(num='Imagen')
ax.imshow(img)
ax.axis('off')
plt.title('Imagen')
plt.show()
img = plt.imread('Eyeback.bmp')
fig, ax = plt.subplots(num='Imagen')
ax.imshow(img,cmap='gray')
ax.axis('off')
plt.title('Imagen')
plt.show()
num_bins = 50
fig, ax = plt.subplots(num="Histograma")
# data.
X = np.arange(-10, 10, 0.25)
Y = np.arange(-10, 10, 0.25)
X, Y = np.meshgrid(X, Y)
R = np.sqrt(X**2 + Y**2)+0.0000001
Z = np.sin(R)/R
# Plot the surface.
surf = ax.plot_surface(X, Y, Z, cmap=cm.coolwarm)
plt.show()
Gráfica de contornos:
fig, ax = plt.subplots(num='Contornos')
# data.
X = np.arange(-10, 10, 0.25)
Y = np.arange(-10, 10, 0.25)
X, Y = np.meshgrid(X, Y)
R = np.sqrt(X**2 + Y**2)+0.0000001
Z = np.sin(R)/R
# Plot the contour.
cont = ax.contour(X, Y, Z, cmap=cm.hot)
fig.colorbar(cont, shrink=0.5, aspect=5)
plt.show()
x1 = np.random.normal(0, 1, 500)
x2 = np.random.normal(1, 1, 500)
fig, ax = plt.subplots(num='Boxplots')
a = 33
b = 200
if b > a:
print("b es mayor que a")
• Indentación o sangría:
– Python se basa en la sangría para definir el alcance en el código.
– Otros lenguajes de programación suelen utilizar llaves o corchetes para este
propósito.
a = 200
b = 33
if b > a:
print("b es mayor que a")
elif a == b:
print("a y b son iguales")
else:
print("a es mayor que b")
a = 200
b = 33
c = 500
if a > b or a > c:
print("Al menos una condición es cierta")
# Imprime 3,4,5
for x in range(3, 6):
print(x)
# Imprime 3,5,7
for x in range(3, 8, 2):
print(x)
for x in "banana":
print(x)
for x in range(6):
print(x)
else:
print("Ha finalizado el ciclo!")
for y in color:
for x in frutas:
print(x, y)
• Otro ejemplo:
y= [ [i,j] for i in range(3) for j in range(3) ]
• Equivalente a:
y=[]
for i in range(3):
for j in range(3):
y.append([i,j])
• Para evitar que el bucle sea infinito, hay que garantizar que en algún
momento la condición sea falsa.
suma, iter = 0, 1
variable = 10
print('Valor inicial de la variable:', variable)
while variable > 0:
variable = variable -1
if variable == 5:
break
print ('Valor actual de la variable:', variable)
variable = 10
print('Valor inicial de la variable:', variable)
while variable > 0:
variable = variable -1
if variable == 5:
continue
print ('Valor actual de la variable:', variable)
variable = 10
print('Valor inicial de la variable:', variable)
while variable > 0:
variable = variable -1
print ('Valor actual de la variable:', variable)
else:
print("Variable es menor que cero")