我是Python的新手,有什麼可能是關於在我的代碼中存儲數據的「最佳」方式的一個非常基本的問題。任何建議非常感謝!最合適的數據結構(Python)
我有以下格式的長.csv文件:
Scenario,Year,Month,Value
1,1961,1,0.5
1,1961,2,0.7
1,1961,3,0.2
etc.
我的方案值從1跑到100,一年過得1961年至1990年和月月都有從1到12,因此,我的文件有100 * 29 * 12 = 34800行,每行都有相關的值。
我想將此文件讀入某種Python數據結構,以便通過指定'場景','年份'和'月'來訪問'值'。請這樣做的最佳方式是什麼(或有哪些選擇)?
在我的腦海中,我認爲這些數據是一種'數字長方體',包含場景,年份和月份的座標軸,以便每個值都位於座標(場景,年份,月份)中。出於這個原因,我很想嘗試將這些值讀入3D numpy數組,並使用Scenario,Year和Month作爲索引。這是明智的做法嗎?
我想我也可以做一本字典,其中鍵是像
str(Scenario)+str(Year)+str(Month)
這將是更好?還有其他選擇嗎?我認爲我的意思是'訪問速度更快',但如果一種方法比另一種方法的內存密集程度低得多,那麼也應該知道這一點。)。
非常感謝!
哇 - 多麼美妙的網站! 5人在比我寫出原始問題更少的時間內給了我很好的答案。謝謝! – JamesS 2010-11-12 12:39:15