import numpy as np # importando numpy from scipy import stats # importando scipy.stats #import pandas as pd # importando pandas import time import sys import math cadena=' ' print('\n') #print(cadena.center(165,'*')) titulo=' ESTADISTICA DESCRIPTIVA ' titulo1=' Realizado por J. Sebastian Quiroga Taborda ' print(titulo.center(165,'*')) print(titulo1.center(165,'*')) print(cadena.center(165,'*')) print('\n') print(' 1 PARA DATOS MUESTRALES ') print(' 2 PARA DATOS POBLACIONALES ') TEMP=input() TEMP=int(TEMP) #print("TEMP", TEMP) if TEMP == 1: cca=' USTED A SELECCIONADO MEDIDAS PARA DATOS MUESTRALES ' print(cca.center(165,'>')) print("\n") # ------------------------------ MEDIA ARITMETICA ---------------------- n=int(input('Definir numero de elementos de Espacio Muestral: ')) r=0 lista=[] i=1 PROM=0 while i<=n: dato1=float(input("Ingresar: ")) # print('Ingresar: ') # dato1=float(input()) lista.append(dato1) #print(lista) PROM=PROM+lista[i-1] i=i+1 print(" ") cadena1='MEDIDAS DE TENDENCIA CENTRAL' print(cadena.center(165,'*')) print(cadena1.center(165)) print('\n') #n_max=[] #n_min=[] def moda(lista): rep=0 cont=0 moda=-1 lista.sort() for i in range(len(lista)-1): if (lista[i] == lista[i+1]): cont=cont + 1 if cont>=rep: rep=cont moda=lista[i] else: cont=0 return moda # ------------------------------ MODA ---------------------------------- VALOR QUE MAS SE REPITE PROM=sum(lista)/len(lista) for ii in lista: apar=lista.count(ii) if apar > r: apar=r #print('Primera r:',str(r)); print('apar:',str(apar)) modas = [] for i in lista: apariciones = lista.count(i) if apar == r and i not in modas: modas.append(i) modas1=sorted(lista) moda=moda(lista) #Funcion SORT() ordena los datos de una lista a='Los datos ordenados son =' b='LA MEDIA ARITMETICA MUESTRAL ES =' c='LA MODA MUESTRAL ES =' print(a,modas1 ) print(" ") print(b.center(120),round((sum(lista)/len(lista)),4)) print(" ") print (c.center(120), moda) print(" ") # ------------------------ MEDIANA ------------------------------------ VALOR EN EL MEDIO if len(lista) % 2 == 0: n = len(lista) mediana = (lista[int(n/2-1)]+ lista[int(n/2)] )/2 else: mediana =lista[int(len(lista)/2)] d='LA MEDIANA MUESTRAL ES =' print (d.center(120),mediana ) print('\n\n\n') # ----------------------------- MEDIDAS DE DISPERSION ---------- i=1 v=0 n_max=sorted(lista) cadena1='CUARTILES' cadena3='El RANGO MEDIO es= ' print(cadena.center(165,'*')) print(cadena1.center(165)) print('\n') #-------------------- DESVIACION MEDIA ------------- temp=0 xi_PROM=0 PROM=sum(lista)/len(lista) PROM=round(PROM,4) #------------------ |xi-PROM| -------------- xi_PROM_abs=0 for i in lista: temp=i-PROM temp=math.fabs(temp) #temp=round(temp,4) #print('variables xi',i) xi_PROM_abs=temp + xi_PROM_abs #print('resta de xi-PROM_abs',xi_PROM_abs) print("La suma de |xi-PROM| = ", xi_PROM_abs) #--------------- (xi-PROM)^3 --------------- xi_PROM3=0 for i in lista: i=round(i,4) temp=i-PROM temp=temp**3 temp=round(temp,4) #print('variables (xi-PROM)^3',temp) xi_PROM3=temp + xi_PROM3 print("SUMA TOTAL DE (xi-PROM)^3 = ", xi_PROM3) #print(cadena3.center(120),totalDes) xi_PROM4=0 for i in lista: i=round(i,4) temp=i-PROM temp=temp**4 temp=round(temp,4) #print('variables (xi-PROM)^4',temp) xi_PROM4=temp + xi_PROM4 xi_PROM4=round(xi_PROM4,4) print("SUMA TOTAL DE (xi-PROM)^4 = ",xi_PROM4) #print(cadena3.center(120),totalDes) #------------------------------- CUANTILES --------- listaO=sorted(lista) temp2=(n*1)/4 #PARA Q1 if temp2%4 != 0: temp3=int(temp2) temp4=temp3-temp2 temp4=math.fabs(temp4) #print("valores de lista(temp3)",listaO[temp3]) #print("valores de lista(temp4)",listaO[(temp3-1)]) restaQ=listaO[temp3]-listaO[(temp3-1)] restaQ=round(restaQ,4) #print('RESTA CUARTIL Q1 =',restaQ) mul=temp4*restaQ Q1=listaO[temp3-1] + mul q1='Q1 = ' print(" ") print(q1.center(120), Q1) #print(" cuartil 1 pimer varaible ", temp3) #print(" cuartil 2 segunda varaible ", temp4) else: Q1=listaO[temp2-1] q1='Q1 = ' print(" ") print(q1.center(120), Q1) temp2=(n*3)/4 #PARA Q3 if temp2%4 != 0: temp3=int(temp2) temp4=temp3-temp2 temp4=math.fabs(temp4) #print("valores de lista(temp3)",listaO[temp3]) #print("valores de lista(temp4)",listaO[(temp3-1)]) restaQ=listaO[temp3]-listaO[(temp3-1)] restaQ=round(restaQ,4) #print('RESTA CUARTIL Q3 =',restaQ) mul=temp4*restaQ Q3=listaO[temp3-1] + mul q='Q3 = ' print(" ") print(q.center(120), Q3) #print(" cuartil 1 pimer varaible ", temp3) #print(" cuartil 2 segunda varaible ", temp4) else: Q3=listaO[temp2-1] q3='Q3 = ' print(" ") print(q3.center(120), Q3) # --------------- PERCEPTILES listaO=sorted(lista) temp2P=(n*10)/100 #PARA Q1 if temp2P%100 != 0: temp3=int(temp2P) temp4=temp3-temp2P temp4=math.fabs(temp4) #print("valores de lista(temp3)",listaO[temp3]) #print("valores de lista(temp4)",listaO[(temp3-1)]) restaQ=listaO[temp3]-listaO[(temp3-1)] restaQ=round(restaQ,4) #print('RESTA CUARTIL P1 =',restaQ) mul=temp4*restaQ P1=listaO[temp3-1] + mul p1='P10 = ' print(" ") print(p1.center(120), P1) #print(" cuartil 1 pimer varaible ", temp3) #print(" cuartil 2 segunda varaible ", temp4) else: P1=listaO[temp2-1] p1='P10 = ' print(" ") print(p1.center(120), P1) listaO=sorted(lista) temp2P=(n*90)/100 #PARA Q1 if temp2P%100 != 0: temp3=int(temp2P) temp4=temp3-temp2P temp4=math.fabs(temp4) #print("valores de lista(temp3)",listaO[temp3]) #print("valores de lista(temp4)",listaO[(temp3-1)]) restaQ=listaO[temp3]-listaO[(temp3-1)] restaQ=round(restaQ,4) #print('RESTA CUARTIL P1 =',restaQ) mul=temp4*restaQ P90=listaO[temp3-1] + mul p1='P90 = ' print(" ") print(p1.center(120), P90) #print(" cuartil 1 pimer varaible ", temp3) #print(" cuartil 2 segunda varaible ", temp4) else: P90=listaO[temp2-1] p1='P90 = ' print(" ") print(p1.center(120), P1) print(" \n") print("") cadena1='RANGOS' cadena3='El RANGO MEDIO es= ' print(cadena.center(165,'*')) print(cadena1.center(165)) print('\n') # -------------- RANGO PROPIAMENTE DICHO -------- listaO=sorted(lista) R1=listaO[n-1]-listaO[0] RANGO='RANGO PROPIAMENTE DICHO (R)= ' print(" ") print(RANGO.center(120),round(R1,2)) #----------------RANGO SEMIINTERCUARTILICO------- Q=round(((Q3-Q1)/2),4) qQ='RANGO SEMINTERCUARTILICO (Q) = ' print(" ") print(qQ.center(120), Q) #----------------RANGO PERCEPTIL ------- #print("P90 = ",P90) #print("P10 = ",P1) P=round((P90-P1),4) PR='RANGO PERCEPTIL (P) = ' print(" ") print(PR.center(120), P) print("") print("") cadena1='MEDIDAS DE DESVIACION' print(cadena.center(165,'*')) print(cadena1.center(165)) print('\n') # ---------------- DESVIACION MEDIA ------------ DM=xi_PROM_abs/n dm='DESVIACION MEDIA (D) = ' print(" ") print(dm.center(120),round(DM,4)) # --------------------- SUMATORIA DE xi^2 ------------- temp=0 xii=0 for i in lista: temp=i**2 xii=xii+temp #print("VARIABLE xi^2 = ",round(temp,4)) xii=round(xii,4) print(" ") print("xi^2 = ", xii) # ------------------- VARIANZA (S^2)----------- l1=(n*(PROM**2)) vaRSS=((xii - l1)/(n-1)) #print('Restass = ',restas) #print('PROMEDIO**2 = ' ,) vaa='VARIANZA (S^2) = ' print(" ") print(vaa.center(120),round(vaRSS,4)) # ------------------- DESVIACION ESTANDAR (S) ----------- vaRS=math.sqrt(vaRSS) DE='DESVIACION ESTANDAR (S) = ' print(" ") print(DE.center(120),round(vaRS,2)) #---------------------------- COEFICIENTE DE VARIACION (CV) --------------- PROM=sum(listaO)/len(listaO) CV=(vaRS/PROM)*100 cv='COEFICIENTE DE VARIACIÓN (CV) = ' print(" ") print(cv.center(120),round(CV,2), ' %') #---------------------------- COEFICIENTE DE VARIACION CUARTILICO (CVq) --------------- CVq=((Q3-Q1)/(Q3+Q1))*100 cq='COEFICIENTE DE VARIACIÓN CUARTILICO (CVq) = ' print(" ") print(cq.center(120),round(CVq,2),' %') # --------------------------- COEFICIENTES DE SESGO -------------------- CS1=(PROM-moda)/vaRS cs1='COEFICIENTE DE SESGO (CS1) = ' print(" ") print(cs1.center(120),round(CS1,4)) CS2=3*(PROM-moda)/vaRS cs2='COEFICIENTE DE SESGO (CS2) = ' print(" ") print(cs2.center(120),round(CS2,4)) # ---------------------------COEFICIENTE MOMENTO DE SESGO --------- a3=xi_PROM3/(n*(vaRS**3)) A3='COEFICIENTE DE MOMENTO DE SESGO (a3) = ' print(" ") print(A3.center(120),a3) # ---------------------------COEFICIENTE MOMENTO DE CURTOSIS --------- print("\n") #a4=xi_PROM4/(n*(vaRSS**4)) temp=xi_PROM4 temp1=vaRS**4 a4=temp/(n*temp1) A4='COEFICIENTE DE MOMENTO DE CURTOSIS (a4) = ' print(A4.center(120),round(a4,2)) if a4>3: msg='ES UNA DISTRIBUCION LEPTOCURTICA' print(msg.center(120)) elif a4==3: msg='ES UNA DISTRIBUCION MESOCURTICA' print(msg.center(120)) else: msg='ES UNA DISTRIBUCION PLATICURITCA' print(msg.center(120)) print("") k1='COEFICIENTE PERCEPTIL DE CURTOSIS (K) ' k=Q/P print(k1.center(120),round(k,4)) elif TEMP==2: cca=' USTED A SELECCIONADO MEDIDAS PARA DATOS POBLACIONALES ' print(cca.center(165,'>')) print("\n") # ------------------------------ MEDIA ARITMETICA ---------------------- n=int(input('Definir numero de elementos de POBLACION : ')) r=0 lista=[] i=1 PROM=0 while i<=n: dato1=float(input("Ingresar: ")) # print('Ingresar: ') # dato1=float(input()) lista.append(dato1) #print(lista) PROM=PROM+lista[i-1] i=i+1 print(" ") cadena1='MEDIDAS DE TENDENCIA CENTRAL' print(cadena.center(165,'*')) print(cadena1.center(165)) print('\n') #n_max=[] #n_min=[] def moda(lista): rep=0 cont=0 moda=-1 lista.sort() for i in range(len(lista)-1): if (lista[i] == lista[i+1]): cont=cont + 1 if cont>=rep: rep=cont moda=lista[i] else: cont=0 return moda # ------------------------------ MODA ---------------------------------- VALOR QUE MAS SE REPITE PROM=sum(lista)/len(lista) for ii in lista: apar=lista.count(ii) if apar > r: apar=r #print('Primera r:',str(r)); print('apar:',str(apar)) modas = [] for i in lista: apariciones = lista.count(i) if apar == r and i not in modas: modas.append(i) modas1=sorted(lista) moda=moda(lista) #Funcion SORT() ordena los datos de una lista a='Los datos ordenados son =' b='LA MEDIA ARITMETICA POBLACIONAL ES =' c='LA MODA POBLACIONAL ES =' print(a,modas1 ) print(" ") print(b.center(120),round((sum(lista)/len(lista)),4)) print(" ") print (c.center(120), moda) print(" ") # ------------------------ MEDIANA ------------------------------------ VALOR EN EL MEDIO if len(lista) % 2 == 0: n = len(lista) mediana = (lista[int(n/2-1)]+ lista[int(n/2)] )/2 else: mediana =lista[int(len(lista)/2)] d='LA MEDIANA POBLACIONAL ES =' print (d.center(120),mediana ) print('\n\n\n') # ----------------------------- MEDIDAS DE DISPERSION ---------- i=1 v=0 n_max=sorted(lista) cadena1='CUARTILES' cadena3='El RANGO MEDIO es= ' print(cadena.center(165,'*')) print(cadena1.center(165)) print('\n') #-------------------- DESVIACION MEDIA ------------- temp=0 xi_PROM=0 PROM=sum(lista)/len(lista) PROM=round(PROM,4) #------------------ |xi-PROM| -------------- xi_PROM_abs=0 for i in lista: temp=i-PROM temp=math.fabs(temp) #temp=round(temp,4) #print('variables xi',i) xi_PROM_abs=temp + xi_PROM_abs #print('resta de xi-PROM_abs',xi_PROM_abs) print("La suma de |xi-PROM| = ", xi_PROM_abs) #--------------- (xi-PROM)^3 --------------- xi_PROM3=0 for i in lista: i=round(i,4) temp=i-PROM temp=temp**3 temp=round(temp,4) #print('variables (xi-PROM)^3',temp) xi_PROM3=temp + xi_PROM3 print("SUMA TOTAL DE (xi-PROM)^3 = ", xi_PROM3) #print(cadena3.center(120),totalDes) xi_PROM4=0 for i in lista: i=round(i,4) temp=i-PROM temp=temp**4 temp=round(temp,4) #print('variables (xi-PROM)^4',temp) xi_PROM4=temp + xi_PROM4 xi_PROM4=round(xi_PROM4,4) print("SUMA TOTAL DE (xi-PROM)^4 = ",xi_PROM4) #print(cadena3.center(120),totalDes) #------------------------------- CUANTILES --------- listaO=sorted(lista) temp2=(n*1)/4 #PARA Q1 if temp2%4 != 0: temp3=int(temp2) temp4=temp3-temp2 temp4=math.fabs(temp4) #print("valores de lista(temp3)",listaO[temp3]) #print("valores de lista(temp4)",listaO[(temp3-1)]) restaQ=listaO[temp3]-listaO[(temp3-1)] restaQ=round(restaQ,4) #print('RESTA CUARTIL Q1 =',restaQ) mul=temp4*restaQ Q1=listaO[temp3-1] + mul q1='Q1 = ' print(" ") print(q1.center(120), Q1) #print(" cuartil 1 pimer varaible ", temp3) #print(" cuartil 2 segunda varaible ", temp4) else: Q1=listaO[temp2-1] q1='Q1 = ' print(" ") print(q1.center(120), Q1) temp2=(n*3)/4 #PARA Q3 if temp2%4 != 0: temp3=int(temp2) temp4=temp3-temp2 temp4=math.fabs(temp4) #print("valores de lista(temp3)",listaO[temp3]) #print("valores de lista(temp4)",listaO[(temp3-1)]) restaQ=listaO[temp3]-listaO[(temp3-1)] restaQ=round(restaQ,4) #print('RESTA CUARTIL Q3 =',restaQ) mul=temp4*restaQ Q3=listaO[temp3-1] + mul q='Q3 = ' print(" ") print(q.center(120), Q3) #print(" cuartil 1 pimer varaible ", temp3) #print(" cuartil 2 segunda varaible ", temp4) else: Q3=listaO[temp2-1] q3='Q3 = ' print(" ") print(q3.center(120), Q3) # --------------- PERCEPTILES listaO=sorted(lista) temp2P=(n*10)/100 #PARA Q1 if temp2P%100 != 0: temp3=int(temp2P) temp4=temp3-temp2P temp4=math.fabs(temp4) #print("valores de lista(temp3)",listaO[temp3]) #print("valores de lista(temp4)",listaO[(temp3-1)]) restaQ=listaO[temp3]-listaO[(temp3-1)] restaQ=round(restaQ,4) #print('RESTA CUARTIL P1 =',restaQ) mul=temp4*restaQ P1=listaO[temp3-1] + mul p1='P10 = ' print(" ") print(p1.center(120), P1) #print(" cuartil 1 pimer varaible ", temp3) #print(" cuartil 2 segunda varaible ", temp4) else: P1=listaO[temp2-1] p1='P10 = ' print(" ") print(p1.center(120), P1) listaO=sorted(lista) temp2P=(n*90)/100 #PARA Q1 if temp2P%100 != 0: temp3=int(temp2P) temp4=temp3-temp2P temp4=math.fabs(temp4) #print("valores de lista(temp3)",listaO[temp3]) #print("valores de lista(temp4)",listaO[(temp3-1)]) restaQ=listaO[temp3]-listaO[(temp3-1)] restaQ=round(restaQ,4) #print('RESTA CUARTIL P1 =',restaQ) mul=temp4*restaQ P90=listaO[temp3-1] + mul p1='P90 = ' print(" ") print(p1.center(120), P90) #print(" cuartil 1 pimer varaible ", temp3) #print(" cuartil 2 segunda varaible ", temp4) else: P90=listaO[temp2-1] p1='P90 = ' print(" ") print(p1.center(120), P1) print(" \n") print("") cadena1='RANGOS' cadena3='El RANGO MEDIO es= ' print(cadena.center(165,'*')) print(cadena1.center(165)) print('\n') # -------------- RANGO PROPIAMENTE DICHO -------- listaO=sorted(lista) R1=listaO[n-1]-listaO[0] RANGO='RANGO PROPIAMENTE DICHO (R)= ' print(" ") print(RANGO.center(120),round(R1,2)) #----------------RANGO SEMIINTERCUARTILICO------- Q=round(((Q3-Q1)/2),4) qQ='RANGO SEMINTERCUARTILICO (Q) = ' print(" ") print(qQ.center(120), Q) #----------------RANGO PERCEPTIL ------- #print("P90 = ",P90) #print("P10 = ",P1) P=round((P90-P1),4) PR='RANGO PERCEPTIL (P) = ' print(" ") print(PR.center(120), P) print("") print("") cadena1='MEDIDAS DE DESVIACION' print(cadena.center(165,'*')) print(cadena1.center(165)) print('\n') # ---------------- DESVIACION MEDIA ------------ DM=xi_PROM_abs/n dm='DESVIACION MEDIA (D) = ' print(" ") print(dm.center(120),round(DM,4)) # --------------------- SUMATORIA DE xi^2 ------------- temp=0 xii=0 for i in lista: temp=i**2 xii=xii+temp #print("VARIABLE xi^2 = ",round(temp,4)) xii=round(xii,4) print(" ") print("xi^2 = ", xii) # ------------------- VARIANZA (S^2)----------- l1=(n*(PROM**2)) vaRSS=((xii - l1)/(n)) #print('Restass = ',restas) #print('PROMEDIO**2 = ' ,) vaa='VARIANZA (S^2) = ' print(" ") print(vaa.center(120),round(vaRSS,4)) # ------------------- DESVIACION ESTANDAR (S) ----------- vaRS=math.sqrt(vaRSS) DE='DESVIACION ESTANDAR (S) = ' print(" ") print(DE.center(120),round(vaRS,2)) #---------------------------- COEFICIENTE DE VARIACION (CV) --------------- PROM=sum(listaO)/len(listaO) CV=(vaRS/PROM)*100 cv='COEFICIENTE DE VARIACIÓN (CV) = ' print(" ") print(cv.center(120),round(CV,2), ' %') #---------------------------- COEFICIENTE DE VARIACION CUARTILICO (CVq) --------------- CVq=((Q3-Q1)/(Q3+Q1))*100 cq='COEFICIENTE DE VARIACIÓN CUARTILICO (CVq) = ' print(" ") print(cq.center(120),round(CVq,2),' %') # --------------------------- COEFICIENTES DE SESGO -------------------- CS1=(PROM-moda)/vaRS cs1='COEFICIENTE DE SESGO (CS1) = ' print(" ") print(cs1.center(120),round(CS1,4)) CS2=3*(PROM-moda)/vaRS cs2='COEFICIENTE DE SESGO (CS2) = ' print(" ") print(cs2.center(120),round(CS2,4)) # ---------------------------COEFICIENTE MOMENTO DE SESGO --------- a3=xi_PROM3/(n*(vaRS**3)) A3='COEFICIENTE DE MOMENTO DE SESGO (a3) = ' print(" ") print(A3.center(120),a3) # ---------------------------COEFICIENTE MOMENTO DE CURTOSIS --------- print("\n") #a4=xi_PROM4/(n*(vaRSS**4)) temp=xi_PROM4 temp1=vaRS**4 a4=temp/(n*temp1) A4='COEFICIENTE DE MOMENTO DE CURTOSIS (a4) = ' print(A4.center(120),round(a4,2)) if a4>3: msg='ES UNA DISTRIBUCION LEPTOCURTICA' print(msg.center(120)) elif a4==3: msg='ES UNA DISTRIBUCION MESOCURTICA' print(msg.center(120)) else: msg='ES UNA DISTRIBUCION PLATICURITCA' print(msg.center(120)) print("") k1='COEFICIENTE PERCEPTIL DE CURTOSIS (K) ' k=Q/P print(k1.center(120),round(k,4))
Run
Reset
Share
Import
Link
Embed
Language▼
English
中文
Python Fiddle
Python Cloud IDE
Follow @python_fiddle
Browser Version Not Supported
Due to Python Fiddle's reliance on advanced JavaScript techniques, older browsers might have problems running it correctly. Please download the latest version of your favourite browser.
Chrome 10+
Firefox 4+
Safari 5+
IE 10+
Let me try anyway!
url:
Go
Python Snippet
Stackoverflow Question