############################################################################### # CARGAMOS LAS LIBRERIAS DE FUNCIONES HECHAS QUE VAMOS A USAR ############################################################################### import numpy as np #PARA HACER CUENTAS import xlrd #PARA CARGAR ARCHIVOS DE EXCEL import matplotlib.pyplot as plt #PARA GRAFICAR plt.close('all') #CIERRA CUALQUIER GRAFICO QUE HAYA ABIERTO ############################################################################### # DEFINIMOS NOSOTROS OTRAS DE LAS FUNCIONES QUE VAYAMOS A USAR ############################################################################### # FUNCION PARA ABRIR UNA COLUMNA DE UN ARCHIVO DE EXCEL def abrir_columna_excel(nombre_archivo,columna): wb = xlrd.open_workbook(nombre_archivo) Hoja1 = wb.sheet_by_index(0) N_datos=len(Hoja1.col_values(columna)) datos=[] for i in range(1,N_datos): if type(Hoja1.cell_value(i, columna))==float: datos.append(Hoja1.cell_value(i, columna)) return datos ############################################################################### # ESCRIBIMOS LA SECUENCIA DE PROCESOS DE NUESTRO PROGRAMA ############################################################################### # CARGAMOS LA COLUMNA DE EXEL QUE QUERRAMOS ANALIZAR nombre_archivo = ("C:\\Users\\Usuario\\Dropbox\\Clase Estadística\\mediciones.xlsx") columna=2 datos=abrir_columna_excel(nombre_archivo,columna) N_datos=len(datos) #N_datos=10000 #datos=np.random.normal(10,1,N_datos) # PARA VER EN PANTALLA CUANTOS DATOS CARGAMOS print('Hay '+str(N_datos)+' datos en total') # ABRO UNA VENTANA PARA GRAFICAR plt.figure() # HAGO UN HISTOGRAMA CON BINEADO AUTOMATICO plt.hist(datos) plt.xlabel('Tiempo(s)') plt.ylabel('Frecuencia') # LE AGREGO EL TITULO AL GRAFICO plt.title('Bineado automatico') # HAGO UN HISTOGRAMA CON UN NUMERO DETERMINADO DE CAJITAS N_cajitas=20 plt.figure() plt.hist(datos,N_cajitas) plt.xlabel('Tiempo(s)') plt.ylabel('Frecuencia') plt.title('Bineado por total de cajitas') # HAGO UN HISTOGRAMA DEFINIENDO CADA CAJITA bordes_cajitas=[5,6,7,8,9,10,11,12,13,14,15] plt.figure() plt.hist(datos,bordes_cajitas) plt.xlabel('Tiempo(s)') plt.ylabel('Frecuencia') plt.title('Bineado por bordes de cajitas') # ABRO UNA NUEVA VENTANA PARA AGREGAR LA MEDIA, MEDIANA, MODA E INTERVALOS plt.figure() histo=plt.hist(datos) plt.xlabel('Tiempo(s)') plt.ylabel('Frecuencia') # CALCULO LA MEDIA (EL VALOR MEDIO) media=np.mean(datos) plt.plot([media, media],[0,np.max(histo[0])],lw=3,label='media') # CALCULO LA MEDIANA (EL VALOR DE LA MITAD) mediana=np.median(datos) plt.plot([mediana, mediana],[0,np.max(histo[0])],label='mediana') # CALCULO LA MODA (EL VALOR MAS FRECUENTE) moda=(histo[1][np.argmax(histo[0])]+histo[1][np.argmax(histo[0])+1])/2 plt.plot([moda, moda],[0,np.max(histo[0])],label='moda') # CALCULO EL INTERVALO DE 50% DE CONFIANZA intervalo_50=[np.percentile(datos,25),np.percentile(datos,75)] plt.axvspan(intervalo_50[0],intervalo_50[1], alpha=0.5, color='green',label='intervalo 50%') # CALCULO EL INTERVALO DE 95% DE CONFIANZA intervalo_95=[np.percentile(datos,2.5),np.percentile(datos,97.5)] plt.axvspan(intervalo_95[0],intervalo_95[1], alpha=0.25, color='green',label='intervalo 95%') plt.legend() plt.show()