Jaký je význam `2097184 v numpy?

0

Otázka

Používám níže uvedený kód pro vytvoření prázdné matice:

import numpy as np

x = np.array([[1,2,3], [4,5,6], [7,8,9], [10, 11, 12]])

print(x)

y =np.empty_like(x)

print(y)
# I get below data:
[[2097184 2097184 2097184]
 [2097184 2097184 2097184]
 [2097184 2097184 2097184]
 [2097184 2097184 2097184]]

proč 2097184 stojan pro prázdné?

numpy python
2021-11-24 04:07:28
3

Nejlepší odpověď

0

To nestojí za nic. Z dokumentace:

Tato funkce není inicializovat vrácené pole; k tomu, že použití zeros_like nebo ones_like místo. To může být mírně rychlejší než funkce, které se nastaví pole hodnot.

Takže obsah pole se cokoliv stane být v paměti, že se používá pro to. V tomto případě, to byla parta 2097184 hodnoty. Příště si to vyzkoušet, budete pravděpodobně dostanete něco jiného.

Budete používat tohle, když vás nezajímá, co je v poli, protože se chystáte přepsat.

2021-11-24 04:13:37
0

Na empty_like metoda není inicializovat pole (to je důvod, proč je velmi rychlejší než zeros_like a ones_like), takže tvar pole je přesně stejný jako x,, ale hodnoty jsou neinicializované a ve skutečnosti jsou téměř náhodné hodnoty z paměti přidělené místo do pole.

2021-11-24 04:14:08
0

Kromě toho, je to jen efektivnější alternativa k zeros_like nebo ones_like:

%%timeit
np.zeros_like(x)
>>> 18.4 µs ± 2.39 µs per loop (mean ± std. dev. of 7 runs, 100000 loops each)

%%timeit
np.ones_like(x)
>>> 14.1 µs ± 205 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)

%%timeit
np.empty_like(x)
>>> 2.09 µs ± 62.4 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)
2021-11-24 04:42:18

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................