[Python] With... as... per sopprimere NameError
Pietro
peter.zamb a gmail.com
Mar 14 Maggio 2013 16:03:07 CEST
Ciao Pietro
2013/5/14 Pietro Battiston <me a pietrobattiston.it>:
> ¹ Per chi si stesse preoccupando per la mia mente malata: voglio potere
> scrivere codice che lavora sulle colonne di pandas.DataFrame riferendomi
> direttamente alle colonne con il loro nome, e magari stabilendo un
> filtering su una condizione prefissata, semplificando _enormemente_ il
> codice delle analisi econometriche che sviluppo con pandas/statsmodels.
In pandas già puoi chimare le colonne con il loro nome esattamente
come dal tuo esempio:
tot = df["x"] + df["y"]
se proprio ci tieni a scrivere l'espressione tot = x + y, l'unico modo
che vedo è:
x = df['x']
y = df['y']
tot = x + y
Ma non lo trovo più leggibile...
Non puoi pretendere di definire un dataframe che contiene al suo
interno delle colonne "x" e "y" e pensare di vedere queste variabili
come globali, o meglio lo puoi fare ma lo devi fare esplicitamente,
vedi l'esempio qui sopra (ricorda: Explicit is better than implicit!).
Secondo me (se ho capito bene il nocciolo della questione) stai
cercando di forzare il linguaggio a fare qualcosa che di pythonico ha
poco, nel caso puoi definire un nuovo "linguaggio" che internamente
utilizza python e le dataframes di pandas utilizzando:
http://www.dabeaz.com/ply/ se l'obbiettivo è avere qualcosa di più
semplice per l'utente... ma personalmente in questo caso non sono
convinto ne valga la pena...
Buon lavoro.
Pietro
Maggiori informazioni sulla lista
Python