Python - Control estadistico

import json
import os
import numpy
from pylab import*
def nuevos():
 os.remove('proyecto.txt')
 archivo=open('proyecto.txt','w')
 r=int(input("Dime el numero de resistencias: "))
 c=int(input("Dime cuantas veces quieres merdirla: "))
 for i in range(r):
  for j in range(c):
   a0=int(input("Dime la muestra %d posicion %d "%((i+1),(j+1))))
   archivo.write(str(a0))
   archivo.write(" ")
  archivo.write("\n")

 archivo.close()
 archivo=open("proyecto.txt","r")
 print()
 lista0=[]
 for i in range(r):
  lista1=archivo.readline()
  lista2=lista1.split()
  lista0.append(lista2)

 archivo.close()
 A=np.zeros((r,c))
 for i in range(r):      
  for j in range(c):
   A[i][j]= int(lista0[i][j])

 for i in range(r):
  print(i+1,"\t|",end=" ")
  for j in range(c):
   print(A[i][j], end="    ")
  print()
 print()
 A2=[0,0,1.880,1.023,0.729,0.577,0.486,0.429,0.373,0.377,0.308,0.285,0.266,0.249,0.235,0.223]
 D3=[0,0,0,0,0,0,0,0.076,0.136,0.184,0.223,0.256,0.284,0.308,0.329,0.348]
 D4=[0,0,3.268,2.574,2.282,2.114,2.004,1.924,1.864,1.816,1.777,1.744,1.717,1.692,1.671,1.652]
 prom=[]
 for i in range(r):     
  p=np.sum(A[i])/c
  prom.append(p)
 print("Promedios",prom)
 s=0
 i=0
 for elemento in prom:
  s+=elemento
  i+=1
 promedio=s/i
 listar=[]
 for i in range(r):
  maxi=np.max(A[i])
  mini=np.min(A[i])
  rango=maxi-mini
  listar.append(rango)
 print("Rangos", listar)
 print()
 s1=0
 z=0
 for elemento in listar:
  s1+=elemento
  z+=1
 promedio1=s1/z
 LCP=[]
 LC=0
 while (LC<r):
  LCP.append(promedio)
  LC=LC+1
 lci=promedio-(A2[c]*promedio1)
 LCI=0
 LIP=[]
 while(LCI<r):
  LIP.append(lci)
  LCI=LCI+1
 lcs=promedio+(A2[c]*promedio1)
 LCS=0
 LSP=[]
 while(LCS<r):
  LSP.append(lcs)
  LCS=LCS+1

 print('Promedios:')
 print("P PROM",LCP[0])
 print("P LCI",LIP[0])
 print("P LCS",LSP[0])
 LCR=[]
 y=0
 while(y<r):
  LCR.append(promedio1)
  y=y+1

 lcir=0*promedio1
 v=0
 LCIR=[]
 while(v<r):
  LCIR.append(lcir)
  v=v+1
 lcsr=2.282*promedio1
 w=0
 LSR=[]
 while(w<r):
  LSR.append(lcsr)
  w=w+1

 print('Rangos:')
 print("R PROM",LCR[0])
 print("R LCI",LCIR[0])
 print("R LCS",LSR[0])
 plt.plot(LCP, label="PROM", marker='d')
 plt.plot(LIP, label="LCI", marker='s')
 plt.plot(LSP, label="LCS", marker='x')
 plt.plot(prom, label="Promedio",marker='h')
 plt.grid(True)
 plt.legend(loc="upper center")
 plt.show()
 plt.plot(LCR, label="prom", marker='d')
 plt.plot(LCIR, label="LCI", marker='s')
 plt.plot(LSR, label="LCS", marker='x')
 plt.plot(listar, label="Rangos", marker='h')
 plt.grid(True)
 plt.legend(loc="upper center")
 plt.show()

def viejos():
 archivo=open("proyecto.txt","r")
 r=0
 for n in archivo:
  r=r+1

 archivo.close()
 archivo=open("proyecto.txt","r")
 lista0=[] 
 for i in range(r):
  lista1=archivo.readline()
  lista2=lista1.split()
  lista0.append(lista2)

 uno=lista0[0]
 c=len(uno)
 archivo.close()
 A=np.zeros((r,c))
 for i in range(r):      
  for j in range(c):
   A[i][j]= int(lista0[i][j])

 for i in range(r):
  print(i+1,"\t|",end=" ")
  for j in range(c):
   print(A[i][j], end="    ")
  print()
 print()
 A2=[0,0,1.880,1.023,0.729,0.577,0.486,0.429,0.373,0.377,0.308,0.285,0.266,0.249,0.235,0.223]
 D3=[0,0,0,0,0,0,0,0.076,0.136,0.184,0.223,0.256,0.284,0.308,0.329,0.348]
 D4=[0,0,3.268,2.574,2.282,2.114,2.004,1.924,1.864,1.816,1.777,1.744,1.717,1.692,1.671,1.652]
 prom=[]
 for i in range(r):     
  p=np.sum(A[i])/c
  prom.append(p)
 print("Promedios",prom)
 s=0
 i=0
 for elemento in prom:
  s+=elemento
  i+=1
 promedio=s/i
 listar=[]
 for i in range(r):
  maxi=np.max(A[i])
  mini=np.min(A[i])
  rango=maxi-mini
  listar.append(rango)
 print("Rangos", listar)
 print()
 s1=0
 z=0
 for elemento in listar:
  s1+=elemento
  z+=1
 promedio1=s1/z
 LCP=[]
 LC=0
 while (LC<r):
  LCP.append(promedio)
  LC=LC+1
 lci=promedio-(A2[c]*promedio1)
 LCI=0
 LIP=[]
 while(LCI<r):
  LIP.append(lci)
  LCI=LCI+1
 lcs=promedio+(A2[c]*promedio1)
 LCS=0
 LSP=[]
 while(LCS<r):
  LSP.append(lcs)
  LCS=LCS+1
 print('Promedios:')
 print("P PROM",LCP[0])
 print("P LCI",LIP[0])
 print("P LCS",LSP[0])
 LCR=[]
 y=0
 while(y<r):
  LCR.append(promedio1)
  y=y+1
 lcir=0*promedio1
 v=0
 LCIR=[]
 while(v<r):
  LCIR.append(lcir)
  v=v+1
 lcsr=2.282*promedio1
 w=0
 LSR=[]
 while(w<r):
  LSR.append(lcsr)
  w=w+1
 print("Rangos:")
 print("R PROM",LCR[0])
 print("R LCI",LCIR[0])
 print("R LCS",LSR[0])
 plt.plot(LCP, label="PROM", marker='d')
 plt.plot(LIP, label="LCI", marker='s')
 plt.plot(LSP, label="LCS", marker='x')
 plt.plot(prom, label="Promedio",marker='h')
 plt.grid(True)
 plt.legend(loc="upper center")
 plt.show()
 plt.plot(LCR, label="prom", marker='d')
 plt.plot(LCIR, label="LCI", marker='s')
 plt.plot(LSR, label="LCS", marker='x')
 plt.plot(listar, label="Rangos", marker='h')
 plt.grid(True)
 plt.legend(loc="upper center")
 plt.show()
 
print("¿Quieres usar los anteriores datos o unos nuevos?")
datos=str(input("Ingresa ''nuevos'' o ''viejos'': "))
res=["nuevos","NUEVOS","Nuevos"]
res1=['viejos','VIEJOS','Viejos']
print()
if datos in res:
 nuevos()
elif datos in res1:
 viejos()
else:
 print('Esa opcion no es valida')

  • Al ingresar la opción de "viejos"
Esto es lo que imprime


  • Al ingresar la opción de "nuevos"
Esto es lo que imprime











Comentarios

Entradas más populares de este blog

Python - Calcular valor de una resistencia

Python - Ciclo if

Python - Graficas y cadenas