Re: [Python-es] Obtención de Sumandos para un Target a partir de una colección de valores
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)
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
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
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/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/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/