Re: [Python-es] Almacenado de datos

2012-02-28 Por tema Inigo Aldazabal Mensa
El Martes, 28 de Febrero de 2012 a las 08:36,  Kiko escribió:
> >> On 28/02/2012 1:08, Daπid wrote:
> >>
> >> Hola:
> >>
> >> Estoy haciendo unas simulaciones de Monte Carlo para estudiar la
> >> variación de un parámetro en función de otro u otros dos. En total,
> >> tengo del orden de mil o diez mil datos. ¿Cuál es la forma más
> >> sencilla de almacenarlos y recuperarlos?
> >>
> >> Intentaré explicarme mejor con un ejemplo. Ahora mismo tengo un
> >> fichero de texto plano así:
> >>
> >>   1000 0.363815214388
> >>   1000 0.359016260729
> >>   1151 0.38896507684
> >>   1151 0.388929158895
> >>   1151 0.388769658166
> >>
> >> Donde la primera columna es N y la segunda, C. Quiero, por ejemplo,
> >> poder obtener la media de cada valor de C para cada N. Por supuesto,
> >> programarlo a mano es fácil, pero estoy seguro de que hay algo mejor.


mmm usar una base de datos para mil o diez mil datos de este tipo me parece 
exagerado. La forma *mas sencilla* para almacenarlos y recuperarlos me 
sigue pareciendo un archivo ascii. Como mucho reordenando para facilitar 
el parseo tipo

1000 0.363815214388 0.359016260729
1151 0.38896507684 0.388929158895 0.388769658166

o 

1000  1150 ...
0.363815214388 0.359016260729
0.38896507684 0.388929158895 0.388769658166

de forma que la primera fila te da el N de la fila N.

De esta forma podrías cargarlos directamente del fichero a una matriz de 
numpy por ejemplo con data=numpy.loadtxt[1], donde data[0][i] te daría el 
N de la fila i+1.

Luego podrías hacer estadística sobre las filas también directamente con 
las rutinas de estadística de numpy[2]. Ojo si tienes distinto número de 
datos por fila, tendrías que rellenarlos con numpy.NaN o algo así, o usar 
genfromtxt, pero cuidado con el significado de "missing values" en él.

Iñigo

[1]http://docs.scipy.org/doc/numpy/reference/generated/numpy.loadtxt.html
[2]http://docs.scipy.org/doc/numpy/reference/routines.statistics.html





> >>
> >>
> >> ¡Gracias!
> >>
> >> NetCDF/HDF. Supuestamente, con pytables [1] el acceso podría ser más
>
> rápido que usando una BBDD y el espacio que ocupa también es inferior o
> debería serlo [2].
>
> Como dijo Lasizoillo en algún otro hilo de alguna lista, podría verse
> como una BBDD NoSQL.
>
> [1] http://www.pytables.org/moin
> [2] http://pytables.org/EuroSciPy2010/HighlyEfficientComputations.pdf


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


Re: [Python-es] Almacenado de datos

2012-02-28 Por tema José Sabater Montes

El 28/02/2012, a las 00:08, Daπid escribió:

> Hola:
> 
> Estoy haciendo unas simulaciones de Monte Carlo para estudiar la variación de 
> un parámetro en función de otro u otros dos. En total, tengo del orden de mil 
> o diez mil datos. ¿Cuál es la forma más sencilla de almacenarlos y 
> recuperarlos?
> 
> Intentaré explicarme mejor con un ejemplo. Ahora mismo tengo un fichero de 
> texto plano así:
> 
>   1000 0.363815214388
>   1000 0.359016260729
>   1151 0.38896507684
>   1151 0.388929158895
>   1151 0.388769658166
> 
> Donde la primera columna es N y la segunda, C. Quiero, por ejemplo, poder 
> obtener la media de cada valor de C para cada N. Por supuesto, programarlo a 
> mano es fácil, pero estoy seguro de que hay algo mejor.

Hola,

En cuatro líneas usando numpy:

# Importamos numpy:
import numpy

# Leemos los datos del "fichero" en un array llamado r
# Tener en cuenta que lee todo como float
r = numpy.loadtxt("fichero")

# Iteramos sobre los valores distintos de la primera columna
for C in numpy.unique(r[:,0]):
  # Pintamos el valor de la primera columna (pasándolo a entero) y
  # la media de los valores de la segunda columna para las filas 
  # correspondientes a dicho valor de la primera columna
  print int(C), r[:,1][r[:,0] == C].mean()

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


Re: [Python-es] Fwd: GridBagSizer y StaticBitmap

2012-02-28 Por tema conterperawebs webs
Muchisimas gracias Txema Vicente!!!

Funciona perfectamente.

El 27 de febrero de 2012 13:57, Txema Vicente  escribió:

>  Buenas.
>
> Si creas un nuevo StaticBitmap, ya no es el que estaba en el GridSizer.
> Hay un método para cambiar la imagen.
>
>  self.imagenes.SetBitmap(bitmap)
>
> Y al hacer eso es posible que se descoloque y necesites que el sizer se
> recalcule:
>
>  self.GetSizer().Layout()
>
> El 27/02/2012 13:19, conterperawebs webs escribió:
>
>
> Hola foro!!
>
> Soy nuevo en python.
> Despues de leer "Python para todos", hacer algunas pruebas, he decido dar
> "el salto", a programar algo con cierta utilidad.
> El caso, es que estoy intentando desarrollar una aplicacion, que mientras
> navego a traves de un TreeListCtrl, ubicado en la parte izquierda de la
> pantalla, me muestre en la parte derecha, una imagen, que esta asociada a
> cada una de las hojas del TreeListCtrl.
>
> El caso es que no consigo posicionar la imagen, donde yo quiero, cada vez
> que selecciono un item.
>
>
> Resumiendo codigo
>
> import wx
> from Main import opj
> import wx.gizmos
> import  os
> import sqlite3 as sqlite
> import images
> .
> .
> .
>
> self.tree=wx.gizmos.TreeListCtrl(self, -1, style =
>  wx.TR_DEFAULT_STYLE
>  | wx.TR_FULL_ROW_HIGHLIGHT)
> .
> .
> jpg = wx.Image(opj('bitmaps/image.jpg'),
> wx.BITMAP_TYPE_JPEG).ConvertToBitmap()
>
> grid = self.grid = wx.GridBagSizer()
>
> grid.Add(self.tree,(0,0), (20,70), wx.EXPAND, 0, 1)
>
> pos = 70
>
> self.imagenes = wx.StaticBitmap(self, -1, jpg, (0, pos),
> (jpg.GetWidth(), jpg.GetHeight()))
>
> grid.Add(self.imagenes, (0,pos), (jpg.GetWidth(), jpg.GetHeight()))
>
> self.SetSizerAndFit(grid)
>
> Hasta aqui todo perfecto.
> Pero cuando selecciono una hoja del TreeListCtrl, la imagen, me aparece en
> la parte izquierda arriba y no en la misma posicion que la imagen inicial
> (la especificada en el codigo de arriba).
>
> def OnItemLeftClick(self, evt):
> item = evt.GetItem()
>
> pos = 70
>
> if self.tree.GetItemText(item) == "Producto 1":
> self.imagenes = wx.StaticBitmap(self, -1, jpg, (0, pos),
> (jpg.GetWidth(), jpg.GetHeight()))
>
>
> Seguramente estaré cometiendo un error de novato, pero lo he intentado
> todo (hasta donde yo se), consultando, googleando, ejemplos, y no lo
> consigo.
>
> Gracias anticipadas por la ayuda.
>
>
>
> ___
> Python-es mailing 
> listPython-es@python.orghttp://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/
>
>
___
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] "dual listbox" (gtk3), que os parece? (show me the code!!)

2012-02-28 Por tema Edorta García González
Hola! Acabo de terminar un pequeño modulo para python, básicamente se trata
de la típica doble lista, con botones para pasar items de un lado a otro...
He extendido un Gtk.Box añadido algunos métodos, etc... está hecho solo por
aprender, así que cualquier comentario que tengáis, me viene genial!

http://readthefuckingdocumentation.blogspot.com/2012/02/dual-listbox-python-module-gtk3.html

Salu2!

-- 
Edorta García González

Perfil Profesional:
linkedin.com/in/edortagarcia

Otras redes:
Blog: readthefuckingdocumentation.blogspot.com/
Facebook: 
facebook.com/people/Edorta-García-González
Twitter: twitter.com/edortix 
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/