Re: [Python] DataFrame multidimensionale in pandas

2013-03-23 Per discussione Margherita Di Leo
Ciao Enrico,

innanzi tutto grazie per la risposta.

2013/3/22 Enrico Franchi 

>
>
> Ti invito a riflettere su alcuni fattori:
> 1. di base le matrici di numpy (e quindi pandas) sono *dense*. Se sali con
> il numero di dimensioni, o il problema e' molto piccolo, oppure scoppia
> tutto.
> 2. il supporto di Pandas per  strutture con dimensione >3 e' sperimentale.
> Non lo ho mai usato (anzi, a dire il vero, non ho mai usato manco il Panel,
> se non di rado).
>

Grazie per i chiarimenti. In effetti un po' me lo aspettavo.

>
> Dopo di che, la mia impressione e' che *forse* non ti serve tutto questo.


Probabilmente devo cambiare approccio, qualcosa tipo: grib -> postgis ->
query -> numpy, pandas, whatever..


> In primo luogo, gli indici di Pandas possono essere relativamente
> complessi. Puoi avere n colonne che fanno da indice, non necessariamente
> vuoi usare righe e colonne per indicare latitudine e longitudine. Puoi
> benissimo avere una cosa come:
>
> lat long d1 d2 d3 … dn
> 010   ….
> 020  ….
> 10 10 ….
>
> Che e' decisamente piu' saggio.


Il grib e` un file ultracompresso che contiene tantissime informazioni. E`
comunque possibile ottenere un oggetto del genere automagicamente in
formato csv a partire dal grib, per esempio usando wgrib2 -csv, ma non e`
conveniente interagire direttamente con un animale del genere, diciamo che
mi serve qualcosa con un supporto spaziale un po' piu` sofisticato.


> Oltretutto Pandas ha funzioni builtin per gestire timeseries, quindi
> *forse* vuoi avere anche un po' di quella roba come indice. Di piu' non so
> dirti, se non di guardare bene la documentazione. Non sono familiare con il
> tuo caso d'uso e probabilmente non posso diventarlo "mailing-list time".
>

Grazie mille, le tue riflessioni mi sono state molto utili, almeno a capire
che stavo prendendo una strada sbagliata.

ciao e buon fine settimana


-- 
Best regards,

Margherita DI LEO
Postdoctoral Researcher

European Commission - DG JRC
Institute for Environment and Sustainability (IES)
Via Fermi, 2749
I-21027 Ispra (VA) - Italy - TP 261

Tel. +39 0332 78 3600
margherita.di-...@jrc.ec.europa.eu

Disclaimer: The views expressed are purely those of the writer and may not
in any circumstance be regarded as stating an official position of the
European Commission.
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] DataFrame multidimensionale in pandas

2013-03-23 Per discussione epi
Ciao Margherita,

puoi dare un occhio a pytables [0] 

con pytables puoi indicizzare i tuoi dati ed eseguire query usando un 
linguaggio sql-like [1] in aggiunta alla classica sintassi di numpy

il vantaggio di pytables e' che grazie agli indici, risulta estremamente veloce 
nell'eseguire query su enormi quantità' di dati

pandas e pytables (e hdf) sono amici [2]

se lavori anche con netcdf in python, qui [3] la guida su come compilare necdf 
con support a hdf5


[0] http://pytables.github.com/index.html

[1] http://pytables.github.com/cookbook/hints_for_sql_users.html

[2] https://github.com/wesm/pandas/blob/master/pandas/io/pytables.py

[3] https://code.google.com/p/netcdf4-python/wiki/UbuntuInstall



Il giorno 23/mar/2013, alle ore 09:07, Margherita Di Leo  
ha scritto:

> Ciao Enrico,
> 
> innanzi tutto grazie per la risposta. 
> 
> 2013/3/22 Enrico Franchi 
> 
> 
> Ti invito a riflettere su alcuni fattori:
> 1. di base le matrici di numpy (e quindi pandas) sono *dense*. Se sali con il 
> numero di dimensioni, o il problema e' molto piccolo, oppure scoppia tutto.
> 2. il supporto di Pandas per  strutture con dimensione >3 e' sperimentale. 
> Non lo ho mai usato (anzi, a dire il vero, non ho mai usato manco il Panel, 
> se non di rado).
> 
> Grazie per i chiarimenti. In effetti un po' me lo aspettavo. 
> 
> Dopo di che, la mia impressione e' che *forse* non ti serve tutto questo.
> 
> Probabilmente devo cambiare approccio, qualcosa tipo: grib -> postgis -> 
> query -> numpy, pandas, whatever..
>  
> In primo luogo, gli indici di Pandas possono essere relativamente complessi. 
> Puoi avere n colonne che fanno da indice, non necessariamente vuoi usare 
> righe e colonne per indicare latitudine e longitudine. Puoi benissimo avere 
> una cosa come:
> 
> lat long d1 d2 d3 … dn
> 010   ….
> 020  ….
> 10 10 ….
> 
> Che e' decisamente piu' saggio.
> 
> Il grib e` un file ultracompresso che contiene tantissime informazioni. E` 
> comunque possibile ottenere un oggetto del genere automagicamente in formato 
> csv a partire dal grib, per esempio usando wgrib2 -csv, ma non e` conveniente 
> interagire direttamente con un animale del genere, diciamo che mi serve 
> qualcosa con un supporto spaziale un po' piu` sofisticato.
>  
> Oltretutto Pandas ha funzioni builtin per gestire timeseries, quindi *forse* 
> vuoi avere anche un po' di quella roba come indice. Di piu' non so dirti, se 
> non di guardare bene la documentazione. Non sono familiare con il tuo caso 
> d'uso e probabilmente non posso diventarlo "mailing-list time".
> 
> Grazie mille, le tue riflessioni mi sono state molto utili, almeno a capire 
> che stavo prendendo una strada sbagliata.
> 
> ciao e buon fine settimana 
> 
> 
> -- 
> Best regards,
> 
> Margherita DI LEO
> Postdoctoral Researcher
> 
> European Commission - DG JRC 
> Institute for Environment and Sustainability (IES)
> Via Fermi, 2749
> I-21027 Ispra (VA) - Italy - TP 261
>
> Tel. +39 0332 78 3600   
> margherita.di-...@jrc.ec.europa.eu
> 
> Disclaimer: The views expressed are purely those of the writer and may not in 
> any circumstance be regarded as stating an official position of the European 
> Commission.
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Importare moduli nell'interprete, da directories diverse.

2013-03-23 Per discussione Marco Buttu

On 03/22/2013 01:36 PM, Daniele Varrazzo wrote:

import sys
sys.path.insert(0, r"c:\python27\")
from gb import nomemodulo# ora dovrebbe funzionare.


Resta che devi creare c:\python27\gb\__init__.py, anche vuoto. 


Aggiungo che a partire da Python 3.3 una directory puo' essere un package
(implicit namespace package) anche se non contiene il file __init__.py:

$ mkdir mydir
ls
mydir
$ echo "print(__name__)" > mydir/foo.py
$ python2.7 -c "import sys; sys.path.append('$PWD'); import mydir.foo"
Traceback (most recent call last):
  File "", line 1, in 
ImportError: No module named mydir.foo
$ python3.3 -c "import sys; sys.path.append('$PWD'); import mydir.foo"
mydir.foo

Il nuovo meccanismo di import e' descritto nella PEP-0420:

http://www.python.org/dev/peps/pep-0420/#specification

--
Marco Buttu

INAF Osservatorio Astronomico di Cagliari
Loc. Poggio dei Pini, Strada 54 - 09012 Capoterra (CA) - Italy
Phone: +39 070 71180255
Email: mbu...@oa-cagliari.inaf.it

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python