Наиболее подходящая структура данных (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, чтобы я мог получить доступ к «Value», указав ' Сценарий »,« Год »и« Месяц ». Как лучше всего это сделать (или какие есть варианты)?

В голове я думаю об этих данных как об «числовом кубоиде» с осями для сценария, года и месяца, так что каждое значение расположены в координатах (Сценарий, Год, Месяц). По этой причине у меня возникает соблазн попытаться прочитать эти значения в массиве 3D numpy и использовать сценарий, год и месяц в качестве индексов. Разумно ли это сделать?

Думаю, я мог бы также сделать словарь, в котором ключи будут примерно такими, как

str(Scenario)+str(Year)+str(Month)

Было бы лучше? Есть ли другие варианты?

(По "лучше" Полагаю, я имею в виду «более быстрый доступ», хотя, если один метод требует гораздо меньше памяти, чем другой, было бы неплохо знать и об этом).

Большое спасибо!

9
задан JamesS 12 November 2010 в 11:52
поделиться