Wykorzystanie pamięci Pythona przez tablice numpy

| | | |

Używam Pythona do analizowania niektórych dużych plików i mam problemy z pamięcią, więc używam sys.getsizeof(), aby śledzić użycie, ale to zachowanie z tablicami numpy jest dziwaczne. Oto przykład dotyczący mapy albedo, którą muszę otworzyć:

>>> importuj numpy jako np >>> import struktury >>> z sys import getsizeof >>> f = open("Albedo_map.assoc", "rb") >>> getsizeof(f) 144 >>> albedo = struct.unpack("%df" % (7200*3600), f.read(7200*3600*4)) >>> getsizeof(albedo) 207360056 >>> albedo = np. tablica (albedo). przekształcenie (3600,7200) >>>>> getsizeof(albedo) 80 

Cóż, dane nadal tam są, ale rozmiar obiektu, mapa 3600x7200 pikseli, spadł z ~200 Mb do 80 bajtów. mam nadzieję, że moje problemy z pamięcią się skończyły i po prostu zamienię wszystko na numpy tablice, ale czuję, że to zachowanie, jeśli jest prawdziwe, w jakiś sposób naruszałoby jakieś prawo teorii informacji lub termodynamiki, czy coś, więc jestem skłonny w to uwierzyć getsizeof() nie działa z numpy tablicami. Masz jakieś pomysły?

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method