Publicado el Deja un comentario

Python. Datos estadisticos (media, moda, etc)

Obteniendo valores #estadisticos basicos de una serie de datos usando #Python.
Obtenemos #media, #moda, #mediana, percentil, #varianza y mostramos grafica con los #datos.
Estos datos son basicos para analisis estadistico.

# -*-coding:utf-8 -*-

import numpy as np
from scipy import stats
import matplotlib.pyplot as plt
velocidad=[99,25,32,35,64,84,78,91,84,82,74,120,111,114,84,99,95,76,32,140,132,118,155,95]
media=np.mean(velocidad)
mediana=np.median(velocidad)
moda=stats.mode(velocidad)
desviacionEstandar=np.std(velocidad)
varianza=np.var(velocidad)
percentil=np.percentile(velocidad,25)
print(“Los datos obtenidos son: “)
print(“La media de los datos es : “,media)
print(“La moda de los datos es : “,moda)
print(“La mediana de los datos es : “,mediana)
print(“La desviacion de los datos es : “,desviacionEstandar)
print(“La varianza de los datos es : “,varianza)
print(“El percentil de los datos es : “,percentil)
plt.hist(velocidad,7)
plt.show()

Please follow and like us:
Publicado el Deja un comentario

Python. Graficas con Matplotlib

Introduccion a las graficas con Python, usando la libreria matplotlib.

import matplotlib.pyplot as plt

x=(4,8,13,15,23,24)
y=(50,62,84,80,35,43)
plt.plot(x,y,’b-.’)
plt.ylabel(‘Etiqueta Y’)
plt.xlabel(‘Etiqueta X’)
plt.axis([5,30,50,100])
plt.title(‘Mi grafica’)

#plt.scatter(x,y)
plt.show()

Please follow and like us:
Publicado el Deja un comentario

Python. Agenda de contactos

Crea una agenda de contactos y guardalos en un archivo csv que podras abrir con editor de textos o excel.
Para crear la agenda usaremos clases, funciones, metodos, etc.

El codigo utilizado es el siguiente:


# -*-coding:utf-8 -*-

"""
Created on Fri Dic 06 07:48:08 2019

@author: Jose
"""

#modulos
import csv
import itertools
import re

#clases
class Contacto:
nuevoId=itertools.count()
def __init__(self,nombre,apellidos,empresa,fijo,movil):
self.codigo=next(self.nuevoId)
self.nombre=nombre
self.apellidos=apellidos
self.empresa=empresa
self.fijo=fijo
self.movil=movil
class Agenda:
def __init__(self):
self.contactos=[]
def ordenarNombre(self):
self.contactos.sort(key=lambda contacto: contacto.nombre)
def ordenarApellidos(self):
self.contactos.sort(key=lambda contacto: contacto.apellidos)
def añadir(self,nombre,apellidos,empresa,fijo,movil):
contacto=Contacto(nombre,apellidos,empresa,fijo,movil)
self.contactos.append(contacto)
def mostrarTodos(self):
self.submenuOrden()
for contacto in self.contactos:
self.imprimeContacto(contacto)
def buscar(self,textoBuscar):
encontrado=0
for contacto in self.contactos:
if(re.findall(textoBuscar,contacto.nombre)) or (re.findall(textoBuscar,contacto.apellidos)):
self.imprimeContacto(contacto)
encontrado=encontrado+1
self.submenuBuscar(contacto.codigo)
if encontrado==0:
self.noEncontrado()
def borrar(self,codigo):
for contacto in self.contactos:
if contacto.codigo==codigo:
print('---*---*---*---*---*---*---*---*')
print('Quieres borrarlo? (s/n)')
print('---*---*---*---*---*---*---*---*')
opcion=str(input(""))
if opcion=='s' or opcion=='S':
print('Borrando contacto!!!')
del self.contactos[codigo]
elif opcion=='n' or opcion=='N':
break
def modificar(self,codigo):
for contacto in self.contactos:
if contacto.codigo==codigo:
del self.contactos[codigo]
nombre=str(input('Escribe el nombre: '))
apellidos=str(input('Escribe los apellidos: '))
empresa=str(input('Escribe la empresa: '))
fijo=str(input('Escribe el fijo: '))
movil=str(input('Escribe el movil: '))
contacto=Contacto(nombre.capitalize(),apellidos.capitalize(),empresa.capitalize(),fijo,movil)
self.contactos.append(contacto)
break
def submenuBuscar(self,codigo):
print('---*---*---*---*---*---*---*---*')
print('Quieres (m)odificarlo o (b)orrarlo? ')
print('---*---*---*---*---*---*---*---*')
opcion=str(input(""))
if opcion=='m' or opcion=='M':
self.modificar(codigo)
elif opcion=='b' or opcion=='B':
self.borrar(codigo)
else:
print('Continuamos sin realizar modificacion alguna')
def submenuOrden(self):
print('---*---*---*---*---*---*---*---*')
print('Quieres ordenar por (n)ombre o por (a)pellidos?')
print('---*---*---*---*---*---*---*---*')
opcion=str(input(""))
if opcion=='n' or opcion=='N':
self.ordenarNombre()
elif opcion=='a' or opcion=='A':
self.ordenarApellidos()

def grabar(self):
with open('agenda.csv','w') as fichero:
escribir=csv.writer(fichero)
escribir.writerow(('codigo','nombre','apellidos','empresa','fijo','movil'))
for contacto in self.contactos:
escribir.writerow((contacto.codigo,contacto.nombre,contacto.apellidos,contacto.empresa,contacto.fijo,contacto.movil))
def imprimeContacto(self,contacto):
print('---*---*---*---*---*---*---*---*')
print('---*---*---*---*---*---*---*---*')
print('Codigo: {}'.format(contacto.codigo))
print('Nombre: {}'.format(contacto.nombre))
print('Apellidos: {}'.format(contacto.apellidos))
print('Empresa: {}'.format(contacto.empresa))
print('Fijo: {}'.format(contacto.fijo))
print('Movil: {}'.format(contacto.movil))
print('---*---*---*---*---*---*---*---*')
print('---*---*---*---*---*---*---*---*')
def noEncontrado(self):
print('---*---*---*---*---*---*---*---*')
print('---*---*---*---*---*---*---*---*')
print('Contacto no encontrado')
print('---*---*---*---*---*---*---*---*')
print('---*---*---*---*---*---*---*---*')
def ejecutar():
agenda=Agenda()
try:
with open('agenda.csv','r') as fichero:
lector=csv.DictReader(fichero,delimiter=',')
for fila in lector:
agenda.añadir(fila['nombre'].capitalize(),fila['apellidos'].capitalize(),fila['empresa'].capitalize(),fila['fijo'].capitalize(),fila['movil'].capitalize())
except:
print('Error al abrir fichero o que no existe aun')
while True:
menu=str(input("""
\nSelecciona una opcion\n
1 Mostrar lista de contactos
2 Buscar contacto
3 Añadir contacto
0 Salir \n\n
"""))
if menu=='1':
agenda.mostrarTodos()
elif menu=='2':
texto=str(input('Escribe el texto a buscar en contactos: '))
agenda.buscar(texto.capitalize())
agenda.grabar()
elif menu=='3':
nombre=str(input('Escribe el nombre: '))
apellidos=str(input('Escribe los apellidos: '))
empresa=str(input('Escribe la empresa: '))
fijo=str(input('Escribe el fijo: '))
movil=str(input('Escribe el movil: '))
agenda.añadir(nombre.capitalize(),apellidos.capitalize(),empresa.capitalize(),fijo,movil)
agenda.grabar()
elif menu=='0':
print('Hasta pronto!!!')
agenda.grabar()
break
else:
print('Opcion no valida!!!')
if __name__=='__main__':
ejecutar()

Please follow and like us:
Publicado el Deja un comentario

93 Python. Aplicacion Cajas, ampliacion

Como continuacion del video anterior de creacion de una aplicacion sencilla para guardar datos de las cajas, en el siguiente video se amplia dicha aplicacion, dotandola de una consulta a la base de datos para obtener las ventas entre dos fechas indicadas.

Please follow and like us:
Publicado el Deja un comentario

Aplicacion Cajas Diarias

En el siguiente video podras ver la ultima aplicacion que he creado con el lenguaje de programacion python, es una aplicacion sencilla que al introducirle los datos de efectivo y tarjetas del comercio, genera automaticamente un archivo de texto con los datos necesarios para contabilizar la venta y los cobros, guardando dichos datos en una base de datos sqlite que se puede consultar en cualquier momento.
El codigo completo de la aplicacion esta en github.

Please follow and like us:
Publicado el Deja un comentario

92 Python. Aplicacion Caja diaria

Ejemplo de aplicacion creada con Python, para generar los datos que usaremos para crear los asientos contables requeridos de ventas sobre las cajas diarias.
Es una aplicacion con interfaz grafica en la que se introducen los datos de efectivo y tarjetas de dos tiendas y calcula la venta total, desglosa la base imponible y el iva, pasando seguidamente a guardar los datos en una base de datos sqlite y en un archivo de texto que imprimira inmediatamente.
Puedes ver el codigo completo en github.

Please follow and like us:
Publicado el Deja un comentario

90 Python. Pandas

Introduccion a la libreria Pandas de Python, con la que manejaremos estructuras de datos que utilizaremos para analisis.

import pandas as pd
columnas=[‘Nombre’,’Edad’,’Codigo’]

indice01=[‘Jose’,’Lucia’,’Mar’]

indice02=[‘Juan’,’Eva’,’Maria’]

datos01=pd.DataFrame([[‘Jose’,47,1273],[‘Lucia’,40,2363],[‘Mar’,44,2834]],index=indice01,columns=columnas)

datos02=pd.DataFrame([[‘Juan’,57,1273],[‘Eva’,None,2363],[‘Maria’,24,2834]],index=indice02,columns=columnas)

print(datos01)

print(datos02)

datos=pd.concat([datos01,datos02])

print(datos)

datos=datos.drop(‘Nombre’,axis=1)

print(datos)

print(datos.index)print(datos.columns)

print(datos.head(2))

print(datos.tail(2))

print(datos.describe())

print(datos.info())

print(datos.isna())

print(datos[‘Edad’])

print(datos01.drop(‘Codigo’,axis=1))

print(datos01.drop(‘Nombre’,axis=1))

print(datos01.head())

Please follow and like us:
Publicado el Deja un comentario

89 Python. Numpy

En el siguiente video puedes ver una pequeña introduccion a la libreria Numpy de Python.
Facilita muchisimo las operaciones con vectores o matrices.

Ejemplos de codigo:

import numpy as np 

lista=[1,2,4,5,3,8,72,32,9,2,7] 

a=np.array(lista)

multiplicado=a*5 

print(help(np.zeros)) 

b=np.arange(20).reshape(4,5) 

print(b.shape) 

print(b.ndim) 

print(b.size) 

print(len(b)) 

indices=[0,2,3] 

print(a[indices]) 

ceros=np.zeros((4,5)) 

unos=np.ones((3,3)) 

unos=np.ones((4,5)) 

multiplica=ceros*unos 

print(a.sum()) 

print(a.mean()) 

print(a.min()) 

print(a.max()) 

print(a[1:3]) 

c=a[:] 

a=a*2 

c=a[:].copy() 

print(a) 

print(c)

Please follow and like us: