de aquí a que me aprueben ese software es como un año, pufff
2014-07-11 1:46 GMT-05:00 Kiko <[email protected]>: > >> >> Hay por ahí un compilador de excel que te pasa las ecuaciones de excel a >> python y las uniones entre formulas las hacen con grafos, con las ventajas >> de ver las conexiones, haciendo fácil la simplificación, y la optimización. >> No he podido dar el salto de implementar python en mi trabajo diario que es >> Ingeniero de Diseño (aviación) con lo que tengo ahorita mis soluciones en >> python son más impracticas aún que las que ya existen aquí, cosas como >> poder sacar la información de un JT (formato iso de SIEMENS) no es aún tan >> trivial y requiere bastante tiempo. Para labores pequeñas como >> monte-carlo,six-sigma, risk analysis, calculos análiticos, me sirve bien. >> >> > Si funciona, no lo toques!!! > Existe una cosa que se llama datanitro[1] y otra cosa que se llama PyXLL > [2] que quizá te resulten interesantes para no reinventar la rueda con > PySpread. > > [1] https://datanitro.com/ > [2] https://www.enthought.com/products/pyxll/ > > >> >> 2014-07-10 2:02 GMT-05:00 Kiko <[email protected]>: >> >> >>> El 9 de julio de 2014, 21:34, Kiko <[email protected]> escribió: >>> >>> >>>> El 9 de julio de 2014, 18:03, AGTUGO <[email protected]> escribió: >>>> >>>> ¿Podrías pasar una porción de tu código para fines educativos de la >>>>> solución? >>>>> >>>>> >>>> Mañana a primera hora lo tienes. >>>> >>>> De nuevo, gracias. >>>> >>> >>> Ahí va: >>> >>> ---------------------------------------------------------------------------------------------------------------- >>> import numpy as np >>> import pandas as pd >>> >>> # Creo una serie con distribución normal, media 5 y desv estándar 5 >>> # para hacer las pruebas >>> mu = 5 >>> sigma = 5 >>> data = sigma * np.random.randn(300000) + mu >>> index = pd.date_range('1970/01/01', periods = 300000, freq = 'H') >>> >>> # Creo un dataframe de datos horarios >>> datos_de_partida = pd.DataFrame(data, index = index) >>> >>> # Extraigo los máximos (o lo que quieras) mensuales >>> # 1M indica 1 mes >>> # Si quisiera los máximos anuales usaría 1A, etc. >>> grouper = pd.TimeGrouper("1M") >>> ext_group = datos_de_partida.groupby(grouper) >>> >>> # Creo un df con los índices, las fechas de los extremos >>> extremes = ext_group.max() >>> extremes.index = ext_group.idxmax().values >>> # La columna de extremos la llamo 'extremes' >>> extremes.columns = ['extremes'] >>> # Y además creo una columna con las fechas de esos extremos >>> # Las fechas ya las tengo en los índices pero me lo necesito así >>> extremes['dates'] = extremes.index >>> >>> ---------------------------------------------------------------------------------------------------------------- >>> El resultado sería algo así como: >>> extremes dates 1970-01-01 22:00:00 17.937839 1970-01-01 22:00:00 >>> 1970-02-20 >>> 09:00:00 18.647249 1970-02-20 09:00:00 1970-03-11 06:00:00 25.111108 >>> 1970-03-11 >>> 06:00:00 1970-04-27 16:00:00 20.998373 1970-04-27 16:00:00 1970-05-17 >>> 03:00:00 18.304925 1970-05-17 03:00:00 1970-06-12 23:00:00 20.684410 >>> 1970-06-12 >>> 23:00:00 1970-07-19 18:00:00 22.098663 1970-07-19 18:00:00 1970-08-13 >>> 06:00:00 20.925366 1970-08-13 06:00:00 1970-09-20 03:00:00 20.409511 >>> 1970-09-20 >>> 03:00:00 >>> ... y continua para cada mes hasta el final del df datos_de_partida >>> >>> Saludos. >>> >>> P.D.: El resultado debe ser 100x más eficiente que mi implementación >>> original \o/ >>> >>> >>>> >>>>> _______________________________________________ >>>>> Python-es mailing list >>>>> [email protected] >>>>> https://mail.python.org/mailman/listinfo/python-es >>>>> FAQ: http://python-es-faq.wikidot.com/ >>>>> >>>>> >>>> >>> >>> _______________________________________________ >>> Python-es mailing list >>> [email protected] >>> https://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >>> >> >> >> -- >> Arturo Muñoz Tolosa >> >> _______________________________________________ >> Python-es mailing list >> [email protected] >> https://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > _______________________________________________ > Python-es mailing list > [email protected] > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- Arturo Muñoz Tolosa
_______________________________________________ Python-es mailing list [email protected] https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
