#Cree una función donde me retorne datos estadísticos,existe un modulo stats en python pero no tenia para la desviación estándar ponderada(pesada). Espero que les ayude y se diviertan
def stats(list_d,list_w):
if type(list_d) and type(list_w) is list :
lnd = len(list_d)
lnw = len(list_w)
if lnd == lnw and lnd > 0 :
list_dxw = [list_d[i]*list_w[i] for i in xrange(len(list_d))]
weimean = sum(list_dxw)/sum(list_w)
list_rdw = [list_w[i]*((list_d[i] -weimean)**2) for i in xrange(lnd)]
weistdev = ((sum(list_rdw))/(sum(list_w)))**0.5
min_ = min(list_d)
max_ = max(list_d)
samnum = len(list_d)
coefvar = weistdev/weimean
return weimean, weistdev, min_, max_, samnum, coefvar
sábado, 18 de diciembre de 2010
script python-excel
#Como trabajar más fasíl aun con python-excel me pregunte y cree una función que me facilita a escribir celdas en columnas y en filas.Espero que les ayude y se diviertan.
from xlwt import *
#Estilo de la celda
borders = Borders()
borders.left = 1
borders.right = 1
borders.top = 1
borders.bottom = 1
estilo_bordes_ = XFStyle()
estilo_bordes_.borders = borders
#Esta funcion crea bordes de tablas en columnas
def coltable(sheet,row,col,data_lists):
#Todas las lista a escribir en columnas
for e in xrange(len(data_lists)):
#Escribiendo cada elemento de la lista a una celda
for i in xrange(len(data_lists[e])):
data_list=data_lists[e]
sheet.write(row +i,col+e,data_list[i],estilo_bordes_)
#Esta funcion crea bordes de tablas en filas
def rowtable(sheet,row,col,data_lists):
#Todas las lista a escribir en filas
for e in xrange(len(data_lists)):
#Escribiendo cada elemento de la lista a una celda
for i in xrange(len(data_lists[e])):
data_list=data_lists[e]
sheet.write(row +e,col+i,data_list[i],estilo_bordes_)
#Esta funcion crea bordes de tablas en columnas y en filas
def table(sheet,row_init,col_init,data_lists,formation):
#Todas las lista a escribir
for e in xrange(len(data_lists)):
#Escribiendo cada elemento de la lista a una celda
for i in xrange(len(data_lists[e])):
data_list=data_lists[e]
if formation == 'col':
sheet.write(row_init +i,col_init+e,data_list[i],estilo_bordes_)
elif formation == 'row':
sheet.write(row_init +e,col_init+i,data_list[i],estilo_bordes_)
from xlwt import *
#Estilo de la celda
borders = Borders()
borders.left = 1
borders.right = 1
borders.top = 1
borders.bottom = 1
estilo_bordes_ = XFStyle()
estilo_bordes_.borders = borders
#Esta funcion crea bordes de tablas en columnas
def coltable(sheet,row,col,data_lists):
#Todas las lista a escribir en columnas
for e in xrange(len(data_lists)):
#Escribiendo cada elemento de la lista a una celda
for i in xrange(len(data_lists[e])):
data_list=data_lists[e]
sheet.write(row +i,col+e,data_list[i],estilo_bordes_)
#Esta funcion crea bordes de tablas en filas
def rowtable(sheet,row,col,data_lists):
#Todas las lista a escribir en filas
for e in xrange(len(data_lists)):
#Escribiendo cada elemento de la lista a una celda
for i in xrange(len(data_lists[e])):
data_list=data_lists[e]
sheet.write(row +e,col+i,data_list[i],estilo_bordes_)
#Esta funcion crea bordes de tablas en columnas y en filas
def table(sheet,row_init,col_init,data_lists,formation):
#Todas las lista a escribir
for e in xrange(len(data_lists)):
#Escribiendo cada elemento de la lista a una celda
for i in xrange(len(data_lists[e])):
data_list=data_lists[e]
if formation == 'col':
sheet.write(row_init +i,col_init+e,data_list[i],estilo_bordes_)
elif formation == 'row':
sheet.write(row_init +e,col_init+i,data_list[i],estilo_bordes_)
Suscribirse a:
Entradas (Atom)