# Importamos la libreria
import os
21 Librerías útiles de sistema
21.1 os
Interactuar con el sistema operativo desde Python es una tarea que se hace mucho más sencilla gracias a la librería OS
. Sin necesidad de instalaciones adicionales, esta herramienta permite automatizar y manejar archivos y directorios, lo que simplifica enormemente el flujo de trabajo. Veamos algunos ejemplos prácticos de su uso.
Directorio actual
os.getcwd()
'/Users/jona/Github/book-cursos/qmd/python'
Listar los archivos del directorio
# Listamos los archivos que comienzan con "poo" usando
# list comprehension
= [files for files in os.listdir(".") if files.startswith("poo")]
poo print(f"Los archivos de POO son: {poo}")
Los archivos de POO son: ['poo1_clases.qmd', 'poo1_clases.html', 'poo3_resumen.html', 'poo2_herencias.html', 'poo3_resumen.qmd', 'poo2_herencias.qmd']
¿Cómo funciona esta list comprehension?
os.listdir(".")
:
- Devuelve una lista con todos los archivos y carpetas del directorio actual (el punto “.” representa el directorio actual).
for files in ...
:
- Itera sobre cada elemento (archivo/carpeta) de la lista que devuelve os.listdir(“.”)
- La variable files toma el valor de cada nombre de archivo en cada iteración.
if files.startswith("poo")
:
- Condición que filtra solo los archivos cuyo nombre comience con “poo”
startswith()
devuelve True si el string comienza con el prefijo especificado.
files (al inicio)
:
- Es lo que se incluye en la lista final para cada elemento que cumple la condición.
21.2 math
Cuando trabajamos con cálculos matemáticos en Python, la librería Math es una aliada invaluable. Ofrece una serie de funciones y constantes matemáticas, ideal para conseguir resultados precisos.
import math
Ejemplos de uso de la librería math:
# 1. Calcular el area y perimetro de una circunferencia
= 5
radio
= round((math.pi * radio ** 2), 1)
area = round((2 * math.pi * radio), 1)
perimetro
print(f"El área de un círculo con radio 5 es de: {area}")
print(f"El perímetro de un círculo con radio 5 es de: {perimetro}")
El área de un círculo con radio 5 es de: 78.5
El perímetro de un círculo con radio 5 es de: 31.4
21.3 random
La generación de números y elecciones aleatorias es una tarea comúnmente requerida, y la librería Random en Python nos ofrece varias herramientas útiles para este propósito.
import random
Ejemplos de uso de la librería random:
# 1. Generar un numero entero aleatorio entre 1 y 10
print(f"Número entero aleatorio: {random.randint(1, 10)}")
# 2. Elegir aleatoriamente
## Con lista
= ['manzana', 'banana', 'cereza']
lista print("Elegir un elemento de una lista: ", random.choice(lista))
## Con tupla
= (10, 20, 30, 40)
tupla print("Elegir un elemento de una tupla: ",random.choice(tupla)) # ej: 30
## Con string
= "ABCDEFG"
cadena print("Elegir un elemento de una string: ",random.choice(cadena)) # ej: 'D'
## Con range
= range(1, 11) # números del 1 al 10
rango print("Elegir un elemento de un rango: ",random.choice(rango))
Número entero aleatorio: 4
Elegir un elemento de una lista: banana
Elegir un elemento de una tupla: 30
Elegir un elemento de una string: C
Elegir un elemento de un rango: 1
Ejemplo de shuffle
# Lista original
= ['As', 'Rey', 'Reina', 'Jota', '10', '9']
cartas print("Original:", cartas)
# Mezclar la lista
random.shuffle(cartas)print("Mezclada:", cartas)
Original: ['As', 'Rey', 'Reina', 'Jota', '10', '9']
Mezclada: ['As', 'Reina', 'Rey', '10', '9', 'Jota']
21.4 statistics
En el análisis de datos, es fundamental comprender y utilizar diversas medidas estadísticas para interpretar correctamente la información. Estas medidas nos permiten resumir y describir las características principales de un conjunto de datos, facilitando la toma de decisiones informadas.
import statistics
Algunas de las medidas estadísticas más comunes y sus fórmulas asociadas son las siguientes:
# Datos para ejemplo:
= [1, 2, 3, 4, 4, 5, 6, 7, 8, 9, 10]
datos
# Media aritmetica: `.mean()`
print("La media es: ", statistics.mean(datos))
# Mediana (valor central): `.median()`
print("La mediana es: ", statistics.median(datos))
# Moda (valor mas frecuente): `.mode()`
print("La moda es: ", statistics.mode(datos))
# Desviacion estandar: `.stdev()`
print("La desviación estándar es: ", round((statistics.stdev(datos)), 2))
# Varianza de la muestra: `.variance()`
print("La varianza es: ", round((statistics.variance(datos)), 2))
# Valor minimo: `.min()`
print("El valor mínimo es: ", min(datos))
# Valor maximo: `.max()`
print("El valor máximo es: ", max(datos))
# Cuartiles general: `.quantiles()`
print("Los cuartiles son: ", statistics.quantiles(datos, n = 4))
# Primer cuartil: [N] segun index
print("El primer cuartil es: ", statistics.quantiles(datos, n = 4)[0])
La media es: 5.363636363636363
La mediana es: 5
La moda es: 4
La desviación estándar es: 2.91
La varianza es: 8.45
El valor mínimo es: 1
El valor máximo es: 10
Los cuartiles son: [3.0, 5.0, 8.0]
El primer cuartil es: 3.0