Я новичок в 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, чтобы получить доступ к значению «Значение», указав «Сценарий», «Год» и «Месяц». Каков наилучший способ сделать это, пожалуйста (или какие различные варианты)?
В моей голове я рассматриваю эти данные как своего рода «кубический номер» с осями для сценария, года и месяца, так что каждое значение расположено в координатах (сценарий, год, месяц). По этой причине у меня возникает соблазн попытаться прочитать эти значения в трехмерном массиве numpy и использовать индексы Scenario, Year и Month. Это разумная вещь?
Я предполагаю, что я мог бы также сделать словарь, где ключи-то вроде
str(Scenario)+str(Year)+str(Month)
Будет ли это лучше? Есть ли другие варианты?
(«Лучше», я полагаю, я имею в виду «быстрее получить доступ», хотя, если один из методов намного менее интенсивный в памяти, чем другой, было бы хорошо знать об этом).
Большое спасибо!
Вау - какой фантастический сайт! 5 человек дали мне отличные ответы за меньшее время, чем потребовалось мне, чтобы написать исходный вопрос. СПАСИБО! – JamesS