Skip to main content

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 eviastatistics 

Requisitos

  • Python 3.6 o superior
  • No requiere dependencias externas adicionales

Uso Básico

Importar la librería

from eviastatistics import DataCentral


# 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): True para datos agrupados, False para no agrupados
  • decimal_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): True para datos agrupados, False para 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): True para datos agrupados, False para 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): True para datos agrupados, False para no agrupados
  • decimal_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): True para datos agrupados, False para no agrupados
  • decimal_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): True para datos agrupados, False para no agrupados
  • decimal_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): True para datos agrupados, False para no agrupados
  • decimal_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): True para datos agrupados, False para no agrupados
  • decimal_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 eviastatistics 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

  1. Ordenamiento automático: Los métodos que lo requieren ordenan automáticamente los datos.
  2. 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.
  3. Redondeo: Todos los métodos que aceptan decimal_places redondean el resultado al número de decimales especificado.
  4. 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

MIT License

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

eviastatistics-0.1.3.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

eviastatistics-0.1.3-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file eviastatistics-0.1.3.tar.gz.

File metadata

  • Download URL: eviastatistics-0.1.3.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for eviastatistics-0.1.3.tar.gz
Algorithm Hash digest
SHA256 1eda3369c8dcd6532b0567a029bc6af4d6ccd4686b33707f5b68ccf8eb1e5bba
MD5 89eff78502b0a679f19861e64a7070c8
BLAKE2b-256 0a638451c053041d02dff56ffeefb22261900473e10ba1b9aa2c064542a58827

See more details on using hashes here.

File details

Details for the file eviastatistics-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: eviastatistics-0.1.3-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

Hashes for eviastatistics-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 960cf94bd1546f44f4b6cac3f34e4562ef06e50bdccbdcc162e9e688c59eec82
MD5 b0a0a38f935a40260c1db2e7d933eee5
BLAKE2b-256 f3db613c972ded0d93318d554a0c890c253c3736ee2da7d57e4d496a66af481f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page