elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Código que calcula Promedio Varianza y Desviación estándar (Python)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Código que calcula Promedio Varianza y Desviación estándar (Python)  (Leído 21,284 veces)
XD YO

Desconectado Desconectado

Mensajes: 28



Ver Perfil
Código que calcula Promedio Varianza y Desviación estándar (Python)
« en: 13 Marzo 2010, 02:08 am »

Buenas tardes.

Como no tenia nada mejor que hacer, solo grabarme algunas formulas de estadística, decidí crear un código en Python para realizar esos tres cálculos (Promedio Varianza y Desviación estándar), solo introduciendo los números separándolos por una coma

El código es el siguiente:
Código
  1. #!/usr/bin/env python
  2. # -*- coding: UTF-8 -*-
  3. ######Este es un "corto" programa para
  4. ######Calcular promedio; varianza y desviación estándar
  5. ######################################
  6. def _promedio():
  7.    vcdda = cadenadedatos.get()
  8.    vforlis = "["+vcdda+"]" ###esto me crea una cadena para formar mi lista
  9.    lista = eval(vforlis) #esto trasforma mi cadena en lista
  10.    A = len(lista)
  11.    suma=0
  12.    if A>1:
  13.        for i in lista:
  14.            suma += i
  15.        p = ((suma+0.0)/(A+0.0))
  16.        vpp = Label(ventana, text="El promedio es de=\n"+str(p), justify=CENTER)
  17.        vpp.grid(row=3, column=2,)
  18.    else:
  19.        tkMessageBox.showerror("Datos insuficientes", "No han sido incluidos suficientes datos como para realizar el promedio.\nIntrodusca más datos; gracias")
  20. ######################################
  21. def _varianza():
  22.    vcdda = cadenadedatos.get()
  23.    vforlis = "["+vcdda+"]" ###esto me crea una cadena para formar mi lista
  24.    lista = eval(vforlis) #esto trasforma mi cadena en lista
  25.    lista2 = []
  26.    A = len(lista)
  27.    suma=0
  28.    varis=0
  29.    if A>1:
  30.        for i in lista:
  31.            suma += i
  32.        p = ((suma+0.0)/(A+0.0))
  33.        for j in range((A)):
  34.            sumat = (lista[j]-p)**2
  35.            lista2.append(sumat)
  36.        for k in lista2:
  37.            varis += k
  38.        vari = varis
  39.        va = ((vari+0.0)/(A+0.0))
  40.        vp = Label(ventana, text="La varianza es de=\n"+str(va), justify=CENTER)
  41.        vp.grid(row=4, column=2,)
  42.    else:
  43.        tkMessageBox.showerror("Datos insuficientes", "No han sido incluidos suficientes datos como para realizar la varianza.\nIntrodusca más datos; gracias")
  44. ###########################
  45. def _desest():
  46.    vcdda = cadenadedatos.get()
  47.    vforlis = "["+vcdda+"]" ###esto me crea una cadena para formar mi lista
  48.    lista = eval(vforlis) #esto trasforma mi cadena en lista
  49.    lista2 = []
  50.    A = len(lista)
  51.    suma=0
  52.    varis=0
  53.    if A>1:
  54.        for i in lista:
  55.            suma += i
  56.        p = ((suma+0.0)/(A+0.0))
  57.        for j in range((A)):
  58.             sumat = (lista[j]-p)**2
  59.            lista2.append(sumat)
  60.        for k in lista2:
  61.            varis += k
  62.        vari = varis
  63.        va = sqrt((vari+0.0)/(A+0.0))
  64.        vb = Label(ventana, text="La desviacion estandar es de=\n"+str(va), justify=CENTER)
  65.        vb.grid(row=5, column=2,)
  66.    else:
  67.        tkMessageBox.showerror("Datos insuficientes", "No han sido incluidos suficientes datos como para realizar la desviación estándar.\n introduzca más datos; gracias")
  68. ####################
  69. from math import*
  70. from Tkinter import*
  71. import tkMessageBox
  72.  
  73.  
  74. ventana = Tk()
  75. ventana.title("Cálculos estadísticos básicos")
  76. ####Definiendo algunas variables###
  77. cadenadedatos = StringVar()
  78. li = "Introduzca datos separándolos con una coma\nluego, pulse el botón del calculo a realizar\nGracias."
  79. oA="Promedio"
  80. oB="Varianza"
  81. oC="Desviación\nEstándar"
  82. #####Elementos de ventana####
  83. ll = Label(ventana, text=li)
  84. eli = Entry(ventana, textvariable=cadenadedatos, xscrollcommand=5)
  85. b1 = Button(ventana, text=oA, command=_promedio)
  86. b2 = Button(ventana, text=oB, command=_varianza)
  87. b3 = Button(ventana, text=oC, command=_desest)
  88. #### Conlocandolos en la grilla######
  89. ll.grid(row=0, column=1, columnspan=3)
  90. eli.grid(row=1, column=2)
  91. b1.grid(row=2, column=1)
  92. b2.grid(row=2, column=2)
  93. b3.grid(row=2, column=3)
  94. ventana.mainloop()
  95.  

Y aquí unas vistas del programa:

Se aceptan sugerencias.  :D


En línea

"Fácilmente aceptamos la realidad, acaso porque intuimos que nada es real"
-Borges -El inmortal
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines