A statistics library for various statistical calculations
Project description
DataCentral - Librería para Análisis Estadístico
Descripción
DataCentral es una librería Python diseñada para realizar análisis estadístico básico sobre conjuntos de datos. Proporciona funcionalidades para calcular medidas de tendencia central, dispersión y variabilidad, tanto para datos agrupados como no agrupados.
Instalación
pip install DataCentral
Requisitos
- Python 3.6 o superior
- No requiere dependencias externas adicionales
Uso Básico
Importar la librería
from datacentral import DataCentral
import math
# Crear una instancia con datos
datos = [23, 45, 67, 89, 12, 34, 56, 78, 90, 11]
descripcion = "Edades de participantes en el estudio"
dc = DataCentral(datos, descripcion)
Métodos Disponibles
Constructor
DataCentral(data, description)
Parámetros:
data(list): Lista de valores numéricos (mínimo 2 elementos)description(str): Descripción textual del conjunto de datos
Ejemplo:
try:
datos = [15, 22, 30, 35, 42, 50, 55, 60]
dc = DataCentral(datos, "Edades de empleados")
except (TypeError, ValueError) as e:
print(f"Error: {e}")
1. Media Aritmética (mean())
Calcula el promedio de los datos.
mean(grouped=False, decimal_places=2)
Parámetros:
grouped(bool):Truepara datos agrupados,Falsepara no agrupadosdecimal_places(int): Número de decimales para redondear
Ejemplos:
# Datos no agrupados
media_no_agrupada = dc.mean(grouped=False, decimal_places=2)
print(f"Media no agrupada: {media_no_agrupada}")
# Datos agrupados
media_agrupada = dc.mean(grouped=True, decimal_places=2)
print(f"Media agrupada: {media_agrupada}")
2. Mediana (median())
Encuentra el valor central de los datos ordenados.
median(grouped=False)
Parámetros:
grouped(bool):Truepara datos agrupados,Falsepara no agrupados
Ejemplos:
# Datos no agrupados
mediana_no_agrupada = dc.median(grouped=False)
print(f"Mediana no agrupada: {mediana_no_agrupada}")
# Datos agrupados
mediana_agrupada = dc.median(grouped=True)
print(f"Mediana agrupada: {mediana_agrupada}")
3. Moda (mode())
Encuentra el valor o valores más frecuentes.
mode(grouped=False)
Parámetros:
grouped(bool):Truepara datos agrupados,Falsepara no agrupados
Ejemplos:
# Datos no agrupados
moda_no_agrupada = dc.mode(grouped=False)
print(f"Moda no agrupada: {moda_no_agrupada}")
# Datos agrupados
moda_agrupada = dc.mode(grouped=True)
print(f"Moda agrupada: {moda_agrupada}")
4. Varianza (variance())
Calcula la varianza de los datos.
variance(grouped=False, decimal_places=2)
Parámetros:
grouped(bool):Truepara datos agrupados,Falsepara no agrupadosdecimal_places(int): Número de decimales para redondear
Ejemplo:
varianza = dc.variance(grouped=False, decimal_places=3)
print(f"Varianza: {varianza}")
5. Desviación Estándar (standard_deviation())
Calcula la desviación estándar (raíz cuadrada de la varianza).
standard_deviation(grouped=False, decimal_places=2)
Parámetros:
grouped(bool):Truepara datos agrupados,Falsepara no agrupadosdecimal_places(int): Número de decimales para redondear
Ejemplo:
desviacion = dc.standard_deviation(grouped=False, decimal_places=3)
print(f"Desviación estándar: {desviacion}")
6. Coeficiente de Variación (coefficient_of_variation())
Calcula el coeficiente de variación (CV) como porcentaje.
coefficient_of_variation(grouped=False, decimal_places=2)
Parámetros:
grouped(bool):Truepara datos agrupados,Falsepara no agrupadosdecimal_places(int): Número de decimales para redondear
Ejemplo:
cv = dc.coefficient_of_variation(grouped=False, decimal_places=2)
print(f"Coeficiente de variación: {cv}%")
7. Desviación Media (mean_deviation())
Calcula la desviación absoluta promedio respecto a la media.
mean_deviation(grouped=False, decimal_places=2)
Parámetros:
grouped(bool):Truepara datos agrupados,Falsepara no agrupadosdecimal_places(int): Número de decimales para redondear
Ejemplo:
desv_media = dc.mean_deviation(grouped=False, decimal_places=3)
print(f"Desviación media: {desv_media}")
8. Desviación Mediana (median_deviation())
Calcula la desviación absoluta promedio respecto a la mediana.
median_deviation(grouped=False, decimal_places=2)
Parámetros:
grouped(bool):Truepara datos agrupados,Falsepara no agrupadosdecimal_places(int): Número de decimales para redondear
Ejemplo:
desv_mediana = dc.median_deviation(grouped=False, decimal_places=3)
print(f"Desviación mediana: {desv_mediana}")
Atributos de la Clase
| Atributo | Descripción | Tipo |
|---|---|---|
data |
Lista original de datos | list |
description |
Descripción del conjunto de datos | str |
n |
Número total de elementos | int |
amplitude |
Amplitud de intervalo para datos agrupados | float |
intervalos |
Número de intervalos para datos agrupados | int |
Ejemplo Completo
from datacentral import DataCentral
# Crear conjunto de datos
calificaciones = [85, 92, 78, 90, 88, 76, 95, 89, 84, 91, 87, 93, 79, 86, 94]
estadisticas = DataCentral(calificaciones, "Calificaciones de estudiantes")
# Calcular todas las medidas
print(f"Descripción: {estadisticas.description}")
print(f"Número de datos: {estadisticas.n}")
print(f"Media: {estadisticas.mean(grouped=False, decimal_places=2)}")
print(f"Mediana: {estadisticas.median(grouped=False)}")
print(f"Moda: {estadisticas.mode(grouped=False)}")
print(f"Varianza: {estadisticas.variance(grouped=False, decimal_places=3)}")
print(f"Desviación estándar: {estadisticas.standard_deviation(grouped=False, decimal_places=3)}")
print(f"Coeficiente de variación: {estadisticas.coefficient_of_variation(grouped=False, decimal_places=2)}%")
print(f"Desviación media: {estadisticas.mean_deviation(grouped=False, decimal_places=3)}")
print(f"Desviación mediana: {estadisticas.median_deviation(grouped=False, decimal_places=3)}")
# Para datos agrupados
print(f"\nPara datos agrupados:")
print(f"Media: {estadisticas.mean(grouped=True, decimal_places=2)}")
print(f"Mediana: {estadisticas.median(grouped=True)}")
print(f"Moda: {estadisticas.mode(grouped=True)}")
Manejo de Errores
La librería incluye validaciones que generan excepciones específicas:
try:
# Error: datos no es una lista
dc = DataCentral("no es una lista", "descripción")
except TypeError as e:
print(f"TypeError: {e}")
try:
# Error: lista vacía
dc = DataCentral([], "descripción")
except ValueError as e:
print(f"ValueError: {e}")
try:
# Error: menos de 2 elementos
dc = DataCentral([1], "descripción")
except ValueError as e:
print(f"ValueError: {e}")
Notas Importantes
- Ordenamiento automático: Los métodos que lo requieren ordenan automáticamente los datos.
- Agrupación de datos: Cuando se usa
grouped=True, la librería calcula automáticamente la amplitud y número de intervalos usando la regla de Sturges. - Redondeo: Todos los métodos que aceptan
decimal_placesredondean el resultado al número de decimales especificado. - Datos agrupados vs no agrupados: Algunas medidas pueden tener fórmulas diferentes según el tipo de datos.
Limitaciones
- Diseñada para análisis estadístico básico
- No incluye pruebas de hipótesis
- No incluye análisis de correlación o regresión
- La agrupación automática usa la regla de Sturges exclusivamente
Licencia
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file eviastatistics-0.1.0.tar.gz.
File metadata
- Download URL: eviastatistics-0.1.0.tar.gz
- Upload date:
- Size: 5.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ca26b69b172a28ca5f1c834c2843bd8433eab5c3b41431d1d1ae08d45973042b
|
|
| MD5 |
857e0e469b77820e3c73404e2e2beefb
|
|
| BLAKE2b-256 |
848733d70264762452d187e6688678f0d058e16d365beee7a17d29b70ac13412
|
File details
Details for the file eviastatistics-0.1.0-py3-none-any.whl.
File metadata
- Download URL: eviastatistics-0.1.0-py3-none-any.whl
- Upload date:
- Size: 6.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb1a2edd0f34f7674d74b86e03cf157c84b4b07f970186d21a0d8bc2bf2657fa
|
|
| MD5 |
4c135255d173eb7c264abe884874c653
|
|
| BLAKE2b-256 |
8c6ca3bf5192d6e30b41868eaa9417e5bbf9de67449817a37f136a850b5fcf0c
|