Sono nuovo di Python e ho quella che è probabilmente una domanda di base sul modo "migliore" per memorizzare i dati nel mio codice. Qualche consiglio molto apprezzato!Struttura dati più appropriata (Python)
ho una lunga file .csv nel seguente formato:
Scenario,Year,Month,Value
1,1961,1,0.5
1,1961,2,0.7
1,1961,3,0.2
etc.
mio scenario Valori di correre da 1 a 100, anno va 1961-1990 e mese va da 1 a 12. Il mio file ha quindi 100 * 29 * 12 = 34800 righe, ciascuna con un valore associato.
Mi piacerebbe leggere questo file in una sorta di struttura dati Python in modo che possa accedere a un "Valore" specificando "Scenario", "Anno" e "Mese". Qual è il modo migliore per farlo per favore (o quali sono le varie opzioni)?
Nella mia testa, penso a questi dati come una sorta di 'numero cuboide' con assi per Scenario, Anno e Mese, in modo che ogni Valore si trovi in coordinate (Scenario, Anno, Mese). Per questo motivo, sono tentato di provare a leggere questi valori in una matrice 3D numpy e utilizzare Scenario, Anno e Mese come indici. È una cosa sensata da fare?
Credo che avrei potuto anche fare un dizionario, dove le chiavi sono qualcosa come
str(Scenario)+str(Year)+str(Month)
Questo sarebbe meglio? Ci sono altre opzioni?
(Con "migliore", suppongo che intenda "accesso più rapido", sebbene se un metodo richieda molta meno memoria rispetto a un altro, sarebbe utile saperlo anche in questo caso).
Grazie mille!
Wow - che sito fantastico! 5 persone mi hanno dato grandi risposte in meno tempo di quanto mi ci sia voluto per scrivere la domanda originale. GRAZIE! – JamesS