Re: [Python-es] Obtención de Sumandos para un Target a partir de una colección de valores

2018-02-08 Por tema Javier Rovegno Campos
Hola Manuel:

No se si entendí bien tu pregunta, pero para lo que necesitas se me ocurre
que puedes usar pandas:

from io import StringIO
import pandas as pd


DATA="""id,target,valores
1,100,20
1,100,30
1,100,50
1,100,15
1,100,45
1,100,60
2,150,75
2,150,75
2,150,100
3,1500,900
3,1500,500
3,1500,600
3,1500,1000
3,1500,750
3,1500,200
3,1500,300
3,1500,10
3,1500,30
3,1500,50
"""

df = pd.read_csv(StringIO(DATA))
suma = df.groupby(['id','target'], as_index=False)['valores'].sum()
print(suma)
suma.query('valores-1 < target < valores+1')


Te dejo el gist
https://gist.github.com/jrovegno/e1eb651b58a4338bfe9eff203d6c1e1c

Saludos


2018-01-12 17:35 GMT-03:00 Manuel A. Estevez Fernandez :

> Hola a todos, tengo la siguiente necesidad:
>
> Encontrar una combinación de valores pertenecientes a una colección cuyo
> resultado sea un numero determinado.
>
> Algo así:
> id target valores
> 1 100 20
> 1 100 30
> 1 100 50
> 1 100 15
> 1 100 45
> 1 100 60
> 2 150 75
> 2 150 75
> 2 150 100
> 3 1500 900
> 3 1500 500
> 3 1500 600
> 3 1500 1000
> 3 1500 750
> 3 1500 200
> 3 1500 300
> 3 1500 10
> 3 1500 30
> 3 1500 50
>
> Toda esta información la tengo en un archivo csv. El cual leo y genero un
> diccionario:
>
>  {
>id : {  target : target , values : [ valores ] }
>   ,  id : { target : target , values : [ valores ] }
> }
>
> con el siguiente codigo realizo un matriz de verdad de la longitud de la
> cantidad de los valores por ID, y realizo la suma si es lo del target +1-1
> con ese vale.
>
> import numpy as np
> import itertools
>
> for id in in diccionario :
> for tup in itertools.product([0,1] , repeat=len(diccionario[id]['
> values'])):
> resultado = np.sum( np.dot(  np.array(list(tup)) , np.array(
> diccionario[id]['valores'] ) ) )
> if ( diccionario[id]['target'] - 1) <= resultado and resultado <=  (
> diccionario[id]['target'] + 1) :
> print 'ID : ', id, ' Combinacion : ' , tup , 'Valores ',
> diccionario[id]['valores']
> break
>
>
>
> La problematica que tengo es que obviamente entre mas grande sea la
> cantida de valores la combinaciones serán muchas más.
>
> Tengo la idea de utilizar un poco de paralelizar, pero no tengo idea de
> como empezar.
>
> No sé como hacerlo o si sea posible lo siguiente:
> Lanzar un proceso por ID.
> -Generar una segmentación de la matriz de verdad y asignarla un subproceso
> -Cuando algún subproceso encuentre un resultado válido, lo devuelva y se
> detengan los subprocesos
> -Avanzar al siguiente ID.
>
> Saludos y gracias de antemano.
>
>
>
> Manuel Alejandro Estévez Fernández
>
>
>
> ___
> Python-es mailing list
> Python-es@python.org
> https://mail.python.org/mailman/listinfo/python-es
>
>
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] Sobre ofertas de trabajo en la lista de correo, mi opinión (aunque no le interese a nadie)

2015-06-03 Por tema Javier Rovegno Campos
Hola,

Aquí va una propuesta de requisitos mínimos{1} para publicar una oferta
laboral:
Nombre de la empresa: Queremos que la comunidad pueda validar (tanto
positiva como negativamente) a la empresa.
E-mail de contacto
Rango de sueldo líquido: Queremos evitar frases ambiguas como “renta acorde
al mercado”.
Funciones a desempeñar en la empresa: Queremos claridad para la persona que
postula cual será su rol en tu cultura empresa.
Otros datos de interés: indica cualquier información que sirva para motivar
a las personas a postular.

Saludos
Javier

Referencia: {1} http://www.chileagil.cl/r1a/

2015-06-03 15:16 GMT-03:00 Carlos Zuniga carlos@gmail.com:

 2015-05-30 14:20 GMT-05:00 Karla Reyes karre...@gmail.com:
  que buena conversacion!. me parece excelente poner reglas de conducta
 para
  anunciar los trabajos, de manera que sea un buen recurso y provea la
  información necesaria. Así como reglas de respeto si las posiciones no se
  acomodan a tus circunstancias o expectativas.
 
  En otras listas, hemos tenido problemas similares, y se ha llegado a la
  conclusion de pedir se incluya en el titulo del email este formato:
 
  [JOB/trabajo][Ciudad y/o pais] posición , compania (opcional)
 
  por ejemplo, los correos se ven así:
 
  [grupo] [SF] Software Engineer (JS) @ Kink.com
  [grupo] [JOB] [BERLIN] CTO @ Clue
  [grupo] [JOB] eBook Technical Specialist at Simon  Schuster
  (Javascript/Ruby) - NYC
 
  Esto ayuda mucho, sobretodo si ya sabes si por cuestiones familiares o de
  otro tipo estas dispuesto a mudarte de ciudad o país.
 
  que tengan buen fin de semana,
  Karla
  @pitonisax
 
  2015-05-30 8:38 GMT-07:00 Mario Lacunza mlacu...@gmail.com:
 
  Hola,
 
  yo creo q una vez puesto el anuncio el resto de comunicaciones deben ir
 x
  privado, es asi como se maneja en otras listas.
 
  Saludos / Best regards
 
  Mario Lacunza
  Email:: mlacu...@gmail.com
  Personal Website:: http://www.lacunza.biz/
  Hosting:: http://mlv-host.com/
  Mascotas Perdidas:: http://mascotas-perdidas.com/
  Google Hangouts / / Skype: mlacunzav
 
  El 30/05/15 a las 10:10, Jose Caballero escribió:
 
  Hola,
 
 
  hay a quien le parece bien que se anuncien ofertas de trabajo
  relacionadas con python en esta lista, y a quien le parece mal. A mí me
  parece bien.
  Pero sí me molestan las respuestas airadas de por ese sueldo no me
  levanto de la cama.
 
  Pero yo recomendaría dar la mayor información posible en el anuncio.
 Todo
  lo que se pueda. Así uno sabe de entrada si podría estar interesado o
 no sin
  necesidad de tener que mandar muchos mensajes a la lista.
 
  -- Una descripción lo más detallada posible de las tareas a hacer.
 Mejor
  instalar y mantener django version 1.2.3 en Fedora que tareas web.
 Creo
  que se me entinde.
 
  -- decir el lugar, y qué porcentaje del tiempo del tiempo hay que estar
  allí. Idem con la entrevista. ¿Se puede hacer por skype, por ejemplo?
 
  -- condiciones del contrato. Tiempo completo o parcial, temporal o
 fijo,
  etc.
 
  Hay quien prefiere no decir la empresa. Vale. Pero se pueden dar datos
  que ayudan a decidir si es una apuesta arriesgada o no. Yo, por
 ejemplo,
  vivo fuera y gano xx $ año por un curro que es más o menos 80% python.
 Y me
  gustaría volver a España. Puedo renunciar a un porcentaje de mi
 sueldo, pero
  a cambio necesito cierta garantía de estabilidad. Datos que pueden
 ayudar a
  estimarlo sin tener que decir el nombre de la empresa son:
-- antigüedad de la empresa
-- número de empleados
-- volumen de facturación el año anterior
 
  Etc.
 
  Un saludo,
  Jose


 Una idea interesante que he visto en anuncios en Stack Overflow es que
 las empresas coloquen su puntaje en el test de calidad de un equipo de
 software de Joel Spolsky [0]

 The Joel Test

 Do you use source control?
 Can you make a build in one step?
 Do you make daily builds?
 Do you have a bug database?
 Do you fix bugs before writing new code?
 Do you have an up-to-date schedule?
 Do you have a spec?
 Do programmers have quiet working conditions?
 Do you use the best tools money can buy?
 Do you have testers?
 Do new candidates write code during their interview?
 Do you do hallway usability testing?



 [0] http://www.joelonsoftware.com/articles/fog43.html
 ___
 Python-es mailing list
 Python-es@python.org
 https://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/

___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Editar excel

2014-03-20 Por tema Javier Rovegno Campos
Me auto corrijo, parece que xlsxwriter no te sirve si deseas abrir un
archivo como plantilla
It cannot read or modify existing Excel XLSX files
Sirve sólo para crear el archivo desde cero.

Saludos

2014-03-20 18:20 GMT-04:00 Javier Rovegno Campos tatadel...@gmail.com:
 Hola astralrod:

 Probablemente si necesitas utilizar el formato en xlsx lo que
 necesitas el la librería xlsxwriter
 https://xlsxwriter.readthedocs.org/

 Saludos

 2014-03-20 16:55 GMT-04:00 astralrod astral...@gmail.com:

 En el codigo que pongo arriba, al hacer: copia.save() me genera esto:

 Traceback (most recent call last):
 File pyshell#24, line 1, in module
 copia.save()
 AttributeError: 'Book' object has no attribute 'save'

 Viendo en otra pagina me encuentro con lo siguiente

 from xlrd import open_workbook
 from xlutils.copy import copy
 rb = open_workbook(r'libro.xlsx')
 wb = copy(rb)
 ws = wb.get_sheet(3)
 ws.write(12,3,5)
 wb.save(r'C:\Users\Ventas01\Desktop\RAVISA Nuevo Formato presentación de
 Facturas_ed2.xlsx')

 Esto ultimo me permite guardar el excel, pero solo en formato xls y pierde
 el formato que tenia el archivo.


 El 20 de marzo de 2014, 14:17, Flavio Danesse fdane...@gmail.com escribió:

 No sirve la función save(filename_or_stream) de esta librería?:
 https://secure.simplistix.co.uk/svn/xlwt/trunk/xlwt/doc/xlwt.html?p=4966


 El 20 de marzo de 2014, 17:04, astralrod astral...@gmail.com escribió:


 Saludos Gente!

 En mi trabajo salio la necesidad de generar un archivo de excel en
 python, pero es dandole un nuevo formato (antes solo era una tabla de datos
 y ahora ya tiene imagenes, formatos en columnas y otras cosas).

 Mi idea es dejar un excel base y a la hora de llenarlo guardarlo con otro
 nombre.

 En el programa existente se usan las librerias xlwt, xlrd principalmente;
 eso me deja crear un excel nuevo y guardarlo, pero al momento de abrir un
 excel existente ya no encuentro como guardarlo. Viendo por internet me
 encontre con un codigo pero al parecer no concuerda mucho entre si el 
 codigo
 ya que terminan guardando un libro que nunca se creo ni se uso anterior
 mente.

 Basandome ambos codigos tengo esto como tentativa:

 import xlwt
 import xlrd
 import xlutils
 import copy

 wb1 = xlrd.open_workbook(r'libro.xlsx')
 copia = copy.copy(wb1)
 hoja = copia.sheet_by_name(r'Ravisa Complementaria')
 hoja.cell(12,3).value = 5 #solo para probar la edicion

 Pero en ningun lado encuentro un codigo para guardar el libro con el que
 estoy trabajando.

 La pagina en la que obtuve parte del codigo es:
 http://www.ehowenespanol.com/actualizar-excel-python-como_230945/ y al
 parecer en muchas otras paginas copiaron el mismo codigo pero no explican 
 el
 por que de los cambios.

 Gracias de ante mano por su apoyo!



 ___
 Python-es mailing list
 Python-es@python.org
 https://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/



 ___
 Python-es mailing list
 Python-es@python.org
 https://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/



 ___
 Python-es mailing list
 Python-es@python.org
 https://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/

___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Estancado en el cálculo del momento hidrófobico de una proteína

2014-03-11 Por tema Javier Rovegno Campos
Ojalá no tratar de reinventar la rueda:
Instalar la librería
http://pymmlib.sourceforge.net/
Descargas el último tarball
http://sourceforge.net/projects/pymmlib/files/pymmlib/pymmlib-1.2.0/pymmlib-1.2.0.tar.gz/download
Lo instalas de la forma estándar o lo pruebas primero en un virtualenv
Hay bastante documentación
http://pymmlib.sourceforge.net/doc/api_reference/index.html y ejemplos
(Dentro tarball) para buscar un procedimiento similar al que quieres
hacer y partir de ahí

Saludos

2014-03-11 8:49 GMT-04:00 Eduard Diaz eventgra...@gmail.com:
 Parece el típico ejemplo de pánico a la hoja en blanco... antes de una
 entrega!


 Suponiendo que tienes los conocimientos para calcular el momento hidrofóbico
 de una proteína y ser capaz de identificar las relaciones...

 Divide el problema en partes y divide cada parte en acciones, e intenta ir
 de los abstracto a lo concreto.

 Ahora por lo que veo tienes:

 1.- abrir un archivo pdb y leerlo
 2.- extraer los datos y almacenar los datos importantes
 3.- tratar los datos para detectar la parte hidrofóbica
 4.- calcular el momento,
 5.- etc..

 Así que lo primero que haría es ver como se puede abrir un archivo pdb [1]
 con python y como parsearlo.

 [1] https://en.wikipedia.org/wiki/Protein_Data_Bank_%28file_format%29

 Prueba a hacer preguntas mas concretar y quizás podamos ayudarte.

 Saludos


 ___
 Python-es mailing list
 Python-es@python.org
 https://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/

___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Ayuda

2013-09-25 Por tema Javier Rovegno Campos
2013/9/25 Oscar Rubio oscar.rubio.p...@gmail.com


 Hola Samuel

 Por lo que he leido y experiemento un poco, no es muy recomendable el uso
 de matplotlib para dibujar graficos 3D
 un recomendacion es usar numpy y mlab de mayavi

 Te copio un ejemplo, y dime si te va bien.

 Saludos,
 Oscar

 
 import numpy as np
 from enthought.mayavi import mlab

 x, y, z = np.ogrid[-10:10:20j, -10:10:20j, -10:10:20j]
 s = np.sin(x*y*z)/(x*y*z)

 src = mlab.pipeline.scalar_field(s)
 mlab.pipeline.iso_surface(src, contours=[s.min()+0.1*s.ptp(), ], opacity=
 0.3)
 mlab.pipeline.iso_surface(src, contours=[s.max()-0.1*s.ptp(), ],)

 mlab.show()

 ---


Hola:

Yo complementaría este ejemplo con la siguiente documentación
http://docs.scipy.org/doc/numpy/reference/routines.io.html
En tu caso lo más probable es que sólo necesites loadtxt
http://docs.enthought.com/mayavi/mayavi/mlab.html
Ahí hay varios ejemplos , para copiar y probar.

Saludos




 2013/9/23 Samuel Maca mgs105_m...@yahoo.com.mx

  Buenas tardes
 Quiero pedir asesoría acerca del uso de matplotlib y mayavi, requiero de
 hacer un programa con el que pueda hacer una superficie desde listas de
 datos, tengo listas de datos en tres coordenadas y he querido simular la
 superficie usando surf, wireframe, mesh, etc; pero no lo he conseguido, en
 realidad no he podido comprender como se usan estas ordenes o comandos, y
 lo que he leído acerca de ellas no es muy claro para mí, de hecho dan
 muchos ejemplos usando numpy, pero no he encontrado alguno en donde se
 trabajen con datos reales.

 Gracias por su atención.

 Fís. Samuel Maca García

 ___
 Python-es mailing list
 Python-es@python.org
 https://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/




 --
 ---
 Oscar Rubio Pons.
 oscar.rubio.p...@gmail.com
 ___
 Python-es mailing list
 Python-es@python.org
 https://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/


___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] isfile()

2013-08-03 Por tema Javier Rovegno Campos
2013/8/3 Carlos Zuniga carlos@gmail.com

 2013/8/2 Ricardo Azpeitia Pimentel razpei...@gmail.com:
  Si abre el archivo pero nunca lo cierra. Y si, puedes iterar sobre un
  archivo, y por default usa xreadlines si no mal recuerdo.
 

 Con el with, python se encarga de cerrar el archivo. xreadlines esta
 deprecado desde la 2.3. Y acabo de comprobar que for line in file
 hace lo mismo que for line in file.readlines() excepto que readlines
 te permite colocar un parámetro para usar un buffer.

  Lo que pasa es que usa getcwd y depediendo de donde ejecute el script  y
  donde se encuentren sus archivos va a tener resultados diferentes.
 
  Una buena idea seria imprimir la rutas para ver cual es la diferencia.
 

 Y sería bueno que imprima con repr para ver donde esta el error:


Yo creo que el problema es por no abrir el archivo en modo binario{1}
Probar:

 with open('testfile.txt', 'rb') as testfile:

{1}
http://docs.python.org/2/tutorial/inputoutput.html#reading-and-writing-files


with open('testfile.txt') as testfile:
 for fileName in testfile:
 print repr(fileName)





  Saludos
 --
 A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
 de leer manuales.
 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/

___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/