Zastanawiam się, dlaczego numpy.zeros zajmuje tak mało miejsca?Dlaczego numpy.zeros zajmuje niewiele miejsca?
x = numpy.zeros(200000000)
ta nie zajmuje czasu, pamięci,
x = numpy.repeat(0,200000000)
zajmuje około 1,5 GB. Czy numpy.zeros tworzy tablicę pustych wskaźników? Jeśli tak, czy istnieje sposób, aby ustawić wskaźnik z powrotem na pusty w tablicy po zmianie w cytoncie? Jeśli użyję:
x = numpy.zeros(200000000)
x[0:200000000] = 0.0
Zużycie pamięci rośnie. Czy istnieje sposób na zmianę wartości, a następnie zmianę jej z powrotem na format numpy.zeros, który pierwotnie miał on w pythonie lub cytoncie?
W jaki sposób mierzysz pamięć używaną przez każdą tablicę? Jeśli 'x = numpy.zeros (200000000)' to 'x.nbytes' to' 1600000000' na moim komputerze. Dla 'x = numpy.repeat (0, 200000000)' używana jest połowa pamięci (typ danych 'int32' zamiast typu danych' float64' jest używany podczas tworzenia tablicy). –
[Jak określić rozmiar obiektu w języku Python?] (Http://stackoverflow.com/q/449560/2359271) (zwróć szczególną uwagę na [tę odpowiedź] (http://stackoverflow.com/a/ 3373511/2359271)) – Air
Właśnie obserwowałem zmianę w monitorze aktywności – user3266890