0% encontró este documento útil (0 votos)
8 vistas5 páginas

PYTHON Basic

El documento es un curso básico de Python que cubre desde la introducción al lenguaje, instalación y entorno de desarrollo, hasta conceptos fundamentales como variables, estructuras de control, listas, diccionarios y funciones. También incluye ejercicios prácticos utilizando la biblioteca SciPy para computación científica, abarcando álgebra lineal, optimización y estadística. Finalmente, se presentan métodos de visualización de datos y estadísticas descriptivas.

Cargado por

vlis.darck456
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
8 vistas5 páginas

PYTHON Basic

El documento es un curso básico de Python que cubre desde la introducción al lenguaje, instalación y entorno de desarrollo, hasta conceptos fundamentales como variables, estructuras de control, listas, diccionarios y funciones. También incluye ejercicios prácticos utilizando la biblioteca SciPy para computación científica, abarcando álgebra lineal, optimización y estadística. Finalmente, se presentan métodos de visualización de datos y estadísticas descriptivas.

Cargado por

vlis.darck456
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 5

CURSO BÁSICO DE PYTHON

Módulo 1: Introducción a Python


1.1 ¿Qué es Python?
Lenguaje de programación interpretado, multipropósito y fácil de aprender.
Usado en desarrollo web, ciencia de datos, inteligencia artificial, automatización, etc.

1.2 Instalación y Entorno de Desarrollo


Descargar Python desde: https://www.python.org/downloads/
Instalar un editor de código como VS Code, PyCharm o IDLE (incluido con Python).

Verificar instalación:
bash
python --version

1. Primer Programa: ¡Hola, Mundo!


python
print("¡Hola, Mundo!")

2. Variables y Tipos de Datos


# Variables básicas
nombre = "Juan" # str (cadena)
edad = 25 # int (entero)
altura = 1.75 # float (flotante)
es_estudiante = True # bool (booleano)

# Operaciones matemáticas
a = 10
b=3
suma = a + b # 13
resta = a - b #7
multiplicacion = a * b # 30
division = a / b # 3.333...
division_entera = a // b # 3
modulo = a % b #1
potencia = a ** b # 1000

3. Estructuras de Control
Condicionales (if, elif, else)
edad = 18
if edad >= 18:
print("Eres mayor de edad")
else:
print("Eres menor de edad")

Bucles (while y for)


# Bucle while
contador = 0
while contador < 5:
print(contador)
contador += 1
# Bucle for
for i in range(5): # 0, 1, 2, 3, 4
print(i)

4. Listas y Diccionarios
Listas (list)
frutas = ["manzana", "banana", "naranja"]
print(frutas[0]) # "manzana"
frutas.append("uva") # Añade "uva" al final
Diccionarios (dict)
python
persona = {
"nombre": "Ana",
"edad": 30,
"ciudad": "Madrid"
}
print(persona["nombre"]) # "Ana"

5. Funciones
# Función básica
def saludar(nombre):
return f"Hola, {nombre}!"

mensaje = saludar("Carlos")
print(mensaje) # "Hola, Carlos!"

# Función con parámetros por defecto


def suma(a, b=5):
return a + b
print(suma(3)) # 8 (3 + 5)
print(suma(3, 7)) # 10

6. Proyecto Final: Calculadora Simple


def calculadora():
print("1. Suma")
print("2. Resta")
print("3. Multiplicación")
print("4. División")
opcion = input("Elige una opción (1-4): ")
num1 = float(input("Ingresa el primer número: "))
num2 = float(input("Ingresa el segundo número: "))
if opcion == '1':
print(f"Resultado: {num1 + num2}")
elif opcion == '2':
print(f"Resultado: {num1 - num2}")
elif opcion == '3':
print(f"Resultado: {num1 * num2}")
elif opcion == '4':
print(f"Resultado: {num1 / num2}")
else:
print("Opción inválida")
calculadora()
EJERCICIOS CON SCIPY - CURSO BÁSICO
SciPy es una biblioteca fundamental para computación científica en Python.

Módulo Aplicación típica


scipy.linalg Álgebra lineal (matrices, sistemas de ecuaciones, descomposiciones).
scipy.optimize Optimización y ajuste de modelos (minimización, regresión, root-finding).
scipy.integrate Integración numérica y solución de ecuaciones diferenciales (ODEs).
scipy.stats Estadística (distribuciones, tests estadísticos, análisis de datos).
scipy.signal Procesamiento de señales (filtros, Fourier, wavelets).
scipy.fft Transformadas rápidas de Fourier (FFT).
scipy.interpolate Interpolación de datos (1D, 2D, splines).
scipy.sparse Matrices dispersas (eficiencia en almacenamiento y operaciones).
scipy.special Funciones matemáticas especiales (Bessel, gamma, erf, etc.).
scipy.ndimage Procesamiento de imágenes (filtros, morfología, medidas).

1. Álgebra Lineal (scipy.linalg)


from scipy import linalg
import numpy as np

# Ejercicio 1: Resolver sistema de ecuaciones


# 2x + y = 5
# x - 3y = -1

A = np.array([[2, 1], [1, -3]])


b = np.array([5, -1])
solucion = linalg.solve(A, b)
print(f"Solución del sistema: x = {solucion[0]}, y = {solucion[1]}")

# Ejercicio 2: Calcular determinante e inversa


matriz = np.array([[4, 7], [2, 6]])
det = linalg.det(matriz)
inversa = linalg.inv(matriz)
print(f"Determinante: {det}\nInversa:\n{inversa}")

2. Optimización (scipy.optimize)
from scipy.optimize import minimize

# Ejercicio 3: Minimizar función cuadrática


def funcion(x):
return x**2 + 5*x + 6
resultado = minimize(funcion, x0=0)
print(f"Mínimo en x = {resultado.x[0]:.2f}")

# Ejercicio 4: Ajuste de curva (regresión lineal)


x_data = np.array([0, 1, 2, 3, 4])
y_data = np.array([1.1, 1.9, 3.2, 4.0, 5.1])
def modelo(x, a, b):
return a*x + b
from scipy.optimize import curve_fit
params, _ = curve_fit(modelo, x_data, y_data)
print(f"Parámetros: Pendiente = {params[0]:.2f}, Intercepto = {params[1]:.2f}")
3. Estadística (scipy.stats)
from scipy import stats

# Ejercicio 5: Distribución normal


datos = np.random.normal(loc=10, scale=2, size=100)
media, desviacion = stats.norm.fit(datos)
print(f"Ajuste normal: μ = {media:.2f}, σ = {desviacion:.2f}")

# Ejercicio 6: Test t de Student


grupo1 = np.random.normal(5, 1, 30)
grupo2 = np.random.normal(6, 1, 30)
t_stat, p_valor = stats.ttest_ind(grupo1, grupo2)
print(f"Test t: p-valor = {p_valor:.4f} (significativo si p < 0.05)")

# 1. Estadísticas descriptivas
# Importar librerías necesarias
from scipy import stats
import numpy as np
import matplotlib.pyplot as plt

# 1. Generar datos de ejemplo (calificaciones de 0 a 20)


np.random.seed(42) # Para reproducibilidad
calificaciones = np.random.normal(loc=12, scale=3, size=50)
calificaciones = np.clip(calificaciones, 0, 20) # Limitar entre 0 y 20
calificaciones = np.round(calificaciones, 1) # Redondear a 1 decimal
print("Muestra de calificaciones:", calificaciones[:10])

Cálculo de estadísticas descriptivas con SciPy


# 2. Medidas de tendencia central
media = np.mean(calificaciones)
mediana = np.median(calificaciones)
moda_result = stats.mode(calificaciones)

# 3. Medidas de dispersión
desviacion = np.std(calificaciones)
rango = np.ptp(calificaciones) # Peak to peak (máx - mín)
rango_intercuartil = stats.iqr(calificaciones)

# 4. Forma de la distribución
asimetria = stats.skew(calificaciones)
curtosis = stats.kurtosis(calificaciones)

# 5. Mostrar resultados
print("\n--- Estadísticas Descriptivas ---")
print(f"Media: {media:.2f}")
print(f"Mediana: {mediana:.2f}")
print(f"Moda: {moda_result.mode[0]} (aparece {moda_result.count[0]} veces)")
print(f"\nDesviación estándar: {desviacion:.2f}")
print(f"Rango: {rango:.2f}")
print(f"Rango intercuartílico (IQR): {rango_intercuartil:.2f}")
print(f"\nAsimetría: {asimetria:.2f}")
print(f"Curtosis: {curtosis:.2f}")
Visualización de resultados
# 6. Crear gráficos
plt.figure(figsize=(12, 5))

# Histograma
plt.subplot(1, 2, 1)
plt.hist(calificaciones, bins=10, edgecolor='black', alpha=0.7)
plt.axvline(media, color='red', linestyle='--', label=f'Media ({media:.2f})')
plt.axvline(mediana, color='green', linestyle=':', label=f'Mediana ({mediana:.2f})')
plt.title('Distribución de Calificaciones')
plt.xlabel('Puntaje')
plt.ylabel('Frecuencia')
plt.legend()
# Boxplot
plt.subplot(1, 2, 2)
plt.boxplot(calificaciones, vert=False)
plt.title('Diagrama de Caja')
plt.xlabel('Puntaje')
plt.tight_layout()
plt.show()

También podría gustarte