Jestem nowy w Pythonie i mam prawdopodobnie bardzo podstawowe pytanie o "najlepszy" sposób przechowywania danych w moim kodzie. Każda rada bardzo doceniona!Najbardziej odpowiednia struktura danych (Python)
mam długi plik .csv w następującym formacie:
Scenario,Year,Month,Value
1,1961,1,0.5
1,1961,2,0.7
1,1961,3,0.2
etc.
Mój scenariusz Wartości uruchomić od 1 do 100, rok idzie od 1961 do 1990 roku, a miesiąc przechodzi od 1 do 12. Mój plik ma zatem 100 * 29 * 12 = 34800 wierszy, z których każdy ma przypisaną wartość.
Chciałbym przeczytać ten plik w jakiejś strukturze danych Pythona, aby uzyskać dostęp do "Wartości", określając "Scenariusz", "Rok" i "Miesiąc". Jak najlepiej to zrobić (lub jakie są różne opcje)?
W mojej głowie myślę o tych danych jako o "sześciennej liczbie" z osiami dla Scenariusza, Roku i Miesiąca, tak aby każda Wartość znajdowała się we współrzędnych (Scenariusz, Rok, Miesiąc). Z tego powodu, mam pokusę, aby spróbować odczytać te wartości w tablicy 3D numpy i użyć Scenariusza, Roku i Miesiąca jako indeksów. Czy to rozsądne?
Chyba mogę również zrobić słownika gdzie klawisze są coś
str(Scenario)+str(Year)+str(Month)
Czy to będzie lepiej? Czy są inne opcje?
(Przez "lepsze" przypuszczam, że mam na myśli "szybszy dostęp", chociaż jeśli jedna metoda jest znacznie mniej intensywna od pamięci, dobrze byłoby o tym wiedzieć).
Dziękuję bardzo!
Wow - co za fantastyczna strona! 5 osób udzieliło mi wspaniałych odpowiedzi w krótszym czasie, niż zajęło mi napisanie oryginalnego pytania. DZIĘKUJĘ CI! – JamesS