numpy — operace s poli kompatibilní s numpy#

Podmodul numpy modulu ulab poskytuje API kompatibilní s numpy postavené kolem n-rozměrného typu pole ndarray. Implementuje pečlivě vybranou podmnožinu CPython numpy: konstrukci polí, prvkovou matematiku, redukce a statistiku, lineární algebru, FFT, generování náhodných čísel, prokládání polynomy a základní I/O.

Podmodul se konvenčně importuje jako np

from ulab import numpy as np

a = np.array([1, 2, 3, 4], dtype=np.float)
b = np.linspace(0, 1, num=5)
c = np.dot(a.reshape((2, 2)), a.reshape((2, 2)))

Každý argument dtype je jednou z celočíselných konstant vystavených na úrovni modulu: numpy.bool, numpy.uint8, numpy.int8, numpy.uint16, numpy.int16 a numpy.float (výchozí). Typ výsledku ndarray odkazuje na numpy.ndarray.

Podmoduly#

třída ndarray — n-rozměrné pole#

ndarray je n-rozměrný kontejner s informací o dtype, který tvoří jádro numpy / ulab. Data jsou uložena ve souvislém bloku, jehož interpretaci popisuje malá hlavička (dtype, shape, strides, ndim, itemsize). Mnoho operací – reshape, transpose, krájení – pouze upravuje tuto hlavičku, a jsou proto velmi levné; metody, které alokují nové úložiště (copy, flatten, většina aritmetiky), vracejí nové husté pole.

Stejný typ je dostupný jako ulab.ndarray, numpy.ndarray a (v rámci této stránky) jednoduše ndarray.

class numpy.ndarray(values: ndarray | bytes | list | tuple, *, dtype: int = numpy.float)#

Vytvoří nové ndarray.

Parametry:
  • values – Zdrojová data. Buď jiné ndarray (které se hluboce zkopíruje, s konverzí typu, pokud se dtype liší), nebo libovolná MicroPython iterovatelná struktura. Vnořené iterovatelné struktury produkují vícerozměrná pole; všechny vnitřní iterovatelné struktury musí mít stejnou délku, jinak je vyvolán ValueError.

  • dtype – Typ prvku pro nové pole. Jedno z celých čísel kódu typu vystavených modulem numpy (numpy.bool, numpy.uint8, numpy.int8, numpy.uint16, numpy.int16 a numpy.float), nebo instance dtype. Výchozí hodnota je numpy.float.

Tovární funkce numpy.array je konvenčním způsobem vytvoření ndarray; přeposílá data tomuto konstruktoru.

byteswap(*, inplace: bool = False) ndarray#

Prohodí pořadí bajtů každého prvku. Pro pole uint16, int16 a float toto obrátí pořadí bajtů každého prvku, což je užitečné při zpracování dat z periferií, jejichž pořadí bajtů neodpovídá pořadí mikrořadiče. Pro jednobajtové typy (bool, uint8, int8) se jedná o no-op, který vrátí pohled nebo kopii.

Pokud je inplace False (výchozí), vrátí se nové ndarray a originál zůstane nedotčen. Pokud je inplace True, bajty self se prohodí na místě a vrátí se pohled na self.

copy() ndarray#

Vrátí novou hustou, hlubokou kopii pole. Kopie vlastní svá vlastní data; její úpravy nemají vliv na originál.

flatten(*, order: str = 'C') ndarray#

Vrátí novou jednorozměrnou kopii pole.

Parametry:

order'C' (výchozí) prochází data v C pořadí (poslední osa se mění nejrychleji); 'F' je prochází v Fortran pořadí (první osa se mění nejrychleji).

reshape(shape: int | tuple[int, ...]) ndarray#

Vrátí pohled na pole s novým tvarem. Celkový počet prvků se nesmí změnit, jinak je vyvolán ValueError. Dostupné pouze při ULAB_MAX_DIMS > 1. Ekvivalentní přiřazení do shape.

sort(*, axis: int | None = -1) None#

Seřadí pole na místě.

Parametry:

axis – Osa, podle které se řadí. -1 (výchozí) řadí podle poslední osy; None pole nejprve zploští a poté seřadí.

tobytes() bytearray#

Vrátí bytearray, který je aliasem na podkladový datový buffer pole. Zápisy přes vrácené bytearray upravují pole na místě. Vyvolá ValueError, pokud pole není husté (např. krájený pohled).

tolist() list#

Vrátí obsah pole jako (případně vnořený) Python list. Hloubka vnoření odpovídá ndim.

transpose() ndarray#

Vrátí transpozici pole (s obrácenými osami). U jednorozměrných polí vrací self. Dostupné pouze při ULAB_MAX_DIMS > 1. Atribut T je zkratkou pro tuto metodu.

dtype: dtype | int#

Datový typ prvků pole. Vrací instanci dtype, pokud je firmware sestaven s povoleným ULAB_HAS_DTYPE_OBJECT, jinak podkladový jednoznakový typový kód jako celé číslo.

flat: flatiter#

Plochý iterátor, který poskytuje každý prvek pole v C pořadí. Na rozdíl od flatten() iterování flat nealokuje nové pole.

itemsize: int#

Velikost jednoho prvku pole v bajtech, odvozená z dtype.

ndim: int#

Počet dimenzí pole (délka shape).

shape: tuple[int, ...]#

Délky pole podél každé osy. Přiřazení n-tice do shape přetvaruje pole na místě (ekvivalentní reshape()).

size: int#

Celkový počet prvků v poli (součin shape).

strides: tuple[int, ...]#

Počet bajtů, o které je třeba se posunout v paměti podél každé osy, aby se dosáhlo dalšího prvku podél této osy.

T: ndarray#

Transpozice pole; ekvivalentní transpose().

Podporované operátory#

Instance ndarray podporují následující operátory. Binární operátory vysílají své operandy podle standardních pravidel vysílání numpy a řídí se pravidly povýšení numpy (např. uint8 + int8 => int16, uint16 + int16 => float).

Aritmetika (binární): +, -, *, /, //, %, **. Podporovány jsou také reflektované (pravostranné) operandy a varianty na místě +=, -=, *=, /=, %=, **=. Jsou přijímány formy ndarray-s-ndarray i ndarray-se-skalárem.

Porovnání: ==, !=, <, <=, >, >=. Každý vrací booleovské ndarray o broadcast tvaru.

Bitové operace (pouze celočíselná pole): &, |, ^. Jejich použití na pole float vyvolá TypeError.

Unární: + (vrací kopii), - (negace; u bezznaménkových dtype se hodnoty zalamují modulo \(2^N\)), abs() (prvková absolutní hodnota; u bezznaménkových dtype vrací kopii bez výpočtu), ~ (bitová inverze, pouze celočíselné dtype), len() (vrací délku první osy).

Indexování a krájení: a[i], a[i, j, ...], a[start:stop:step], indexování booleovskou maskou (a[mask]) a indexování celočíselným polem (fancy indexing) jsou podporovány jak při čtení, tak při zápisu.

Iterace: Iterování přes ndarray poskytuje podpole podél první osy (po jednom prvku u 1-D polí). Pro iterování přes každý skalární prvek nezávisle na dimenzionalitě použijte flat.

Operátor maticového násobení @ není implementován; místo něj použijte numpy.dot (np.dot(a, b)).

Operátory posunu (<<, >>) nejsou na úrovni operátoru implementovány. Pro prvkové celočíselné posuny použijte numpy.left_shift a numpy.right_shift.

Konstrukce polí#

numpy.array(values: ndarray | list | tuple, *, dtype: int = float) ndarray#

Sestaví nové ndarray z vnořené iterovatelné struktury čísel. Ekvivalentní alternativní konstruktor pro numpy.ndarray.

numpy.arange(start: int | float, stop: int | float | None = None, step: int | float = 1, *, dtype: int | None = None) ndarray#

Vrátí rovnoměrně rozložené hodnoty na polootevřeném intervalu [start, stop). Je-li zadán pouze jeden poziční argument, je považován za stop s start = 0. Je-li dtype vynechán, je odvozen ze vstupů (celočíselný, jsou-li všechny start, stop, step celá čísla a v rozsahu).

numpy.asarray(a: ndarray | list | tuple, *, dtype: int | None = None) ndarray#

Pokud je a již ndarray, jehož dtype odpovídá dtype (nebo je dtype None), vrátí a beze změny; jinak vytvoří nové pole (s požadovanou konverzí dtype, je-li zadána). Iterovatelné struktury se konvertují jako v numpy.array.

numpy.concatenate(arrays: tuple, *, axis: int = 0) ndarray#

Spojí posloupnost ndarray podél existující osy axis. Všechna vstupní pole musí sdílet stejný dtype, ndim a tvar na každé ose kromě axis.

numpy.diag(a: ndarray, *, k: int = 0) ndarray#

Pro 2-D a vrátí 1-D pole obsahující k-tou diagonálu. Pro 1-D a vrátí 2-D čtvercové pole s a umístěným na k-té diagonále. k může být kladné (nad hlavní diagonálou) nebo záporné (pod ní).

numpy.empty(shape: int | tuple[int, ...], *, dtype: int = float) ndarray#

Alias pro zeros; vrací pole vyplněné nulami o tvaru shape a typu dtype. (ulab nenechává buffer neinicializovaný.)

numpy.eye(N: int, M: int | None = None, k: int = 0, *, dtype: int = float) ndarray#

Vrátí 2-D pole N x M (čtvercové N x N, je-li M None) s jedničkami na k-té diagonále a nulami jinde.

numpy.frombuffer(buffer: bytes, *, dtype: int = float, count: int = -1, offset: int = 0) ndarray#

Interpretuje objekt implementující buffer protokol jako 1-D ndarray typu dtype. count je počet položek ke čtení (-1 čte všechny dostupné položky); offset přeskočí tolik bajtů na začátku bufferu.

numpy.full(shape: int | tuple[int, ...], fill_value: int | float | bool, *, dtype: int = float) ndarray#

Vrátí nové pole o tvaru shape a typu dtype, kde je každý prvek nastaven na fill_value.

numpy.linspace(start: float, stop: float, num: int = 50, *, endpoint: bool = True, retstep: bool = False, dtype: int = float) ndarray | tuple[ndarray, float]#

Vrátí num rovnoměrně rozmístěných vzorků přes uzavřený interval [start, stop] (nebo polootevřený, pokud je endpoint False). Pokud je retstep True, vrátí n-tici (samples, step).

numpy.logspace(start: float, stop: float, num: int = 50, *, base: float = 10.0, endpoint: bool = True, dtype: int = float) ndarray#

Vrátí num vzorků rozložených rovnoměrně na logaritmické stupnici: výsledek začíná na base ** start a končí na base ** stop.

numpy.meshgrid(*xi: ndarray, indexing: str = 'xy') tuple[ndarray, ...]#

Vrátí n-tici souřadnicových matic z posloupnosti jednorozměrných souřadnicových polí. Při indexing 'xy' (výchozí) jsou první dva vstupy považovány za kartézské souřadnice a jejich výstupní osy se prohodí; při 'ij' se použije maticové indexování. Implementace odpovídá ekvivalentu z NumPy s copy=True a sparse=False.

numpy.ones(shape: int | tuple[int, ...], *, dtype: int = float) ndarray#

Vrátí nové pole o tvaru shape a typu dtype vyplněné jedničkami.

numpy.zeros(shape: int | tuple[int, ...], *, dtype: int = float) ndarray#

Vrátí nové pole o tvaru shape a typu dtype vyplněné nulami.

Inspekce / výpis#

numpy.get_printoptions() dict#

Vrátí aktuální možnosti výpisu polí jako slovník s klíči threshold a edgeitems.

numpy.set_printoptions(*, threshold: int | None = None, edgeitems: int | None = None) None#

Nastaví možnosti výpisu polí. threshold je maximální počet prvků pole vypsaných v plném rozsahu; edgeitems je počet položek zobrazených na každém konci osy, když je pole shrnuto.

numpy.ndinfo(array: ndarray) None#

Vypíše diagnostické informace (tvar, strides, dtype, itemsize, …) o poli array.

numpy.size(a: ndarray, *, axis: int | None = None) int#

Vrátí počet prvků a podél osy axis; je-li axis None, vrátí celkový počet prvků (součin ndarray.shape).

Porovnání#

numpy.clip(a: ndarray | int | float, a_min: ndarray | int | float, a_max: ndarray | int | float) ndarray | int | float#

Ořeže hodnoty a tak, aby a_min <= result <= a_max. Ekvivalentní maximum(a_min, minimum(a, a_max)); broadcasting se řídí stejnými pravidly jako minimum.

numpy.equal(x1: ndarray | int | float, x2: ndarray | int | float) ndarray | bool#

Prvkové x1 == x2; vrací booleovské ndarray (nebo skalár bool, jsou-li oba vstupy skaláry). Poskytnuto pro přenositelnost – operátor == na polích dává stejný výsledek.

numpy.not_equal(x1: ndarray | int | float, x2: ndarray | int | float) ndarray | bool#

Prvkové x1 != x2; booleovský protějšek equal.

numpy.isfinite(x: ndarray | int | float) ndarray | bool#

Vrátí booleovské pole (nebo skalár), které je True tam, kde je vstup konečný. Celočíselné vstupy jsou vždy konečné.

numpy.isinf(x: ndarray | int | float) ndarray | bool#

Vrátí booleovské pole (nebo skalár), které je True tam, kde je vstup nekonečný. Celočíselné vstupy nejsou nikdy nekonečné.

numpy.maximum(x1: ndarray | int | float, x2: ndarray | int | float) ndarray | int | float#

Prvkové maximum dvou polí / skalárů. Argumenty se broadcastují dohromady; liší-li se dtype, výstup se povýší.

numpy.minimum(x1: ndarray | int | float, x2: ndarray | int | float) ndarray | int | float#

Prvkové minimum dvou polí / skalárů; protějšek maximum.

numpy.nonzero(a: ndarray) tuple[ndarray, ...]#

Vrátí n-tici ndarray, jedno na každou dimenzi a, obsahující indexy nenulových prvků a.

numpy.where(condition: ndarray | int | float, x: ndarray | int | float, y: ndarray | int | float) ndarray#

Vrátí ndarray, jehož prvky pocházejí z x tam, kde je condition pravdivá, a z y jinak. Tři vstupy se broadcastují dohromady; výstupní dtype je povýšení x a y.

Numerické redukce#

numpy.all(a: ndarray | list | tuple, *, axis: int | None = None) ndarray | bool#

Otestuje, zda všechny prvky podél osy axis vyhodnocují na True. S axis=None (výchozí) se testuje zploštěné pole a vrátí se jediný bool.

numpy.any(a: ndarray | list | tuple, *, axis: int | None = None) ndarray | bool#

Otestuje, zda libovolný prvek podél osy axis vyhodnocuje na True. S axis=None se testuje zploštěné pole.

numpy.argmax(a: ndarray | list | tuple, *, axis: int | None = None) ndarray | int#

Vrátí index maximálního prvku podél osy axis. S axis=None se pole zploští a vrátí se jediné celé číslo.

numpy.argmin(a: ndarray | list | tuple, *, axis: int | None = None) ndarray | int#

Vrátí index minimálního prvku podél osy axis. S axis=None se pole zploští a vrátí se jediné celé číslo.

numpy.argsort(a: ndarray, *, axis: int = -1) ndarray#

Vrátí bezznaménkové celočíselné indexové ndarray, jehož položky řadí a vzestupně podél osy axis. Výstupní dtype je uint16, takže žádná osa nesmí přesáhnout 65535 prvků. axis=None není podporováno.

numpy.cross(a: ndarray, b: ndarray) ndarray#

Vrátí vektorový součin dvou 1-D polí délky 3.

numpy.diff(a: ndarray, *, n: int = 1, axis: int = -1) ndarray#

Vrátí n-tou diskrétní dopřednou diferenci a podél osy axis. n musí být v rozsahu 0..9 (diferenciační šablona je uložena v int8); délka osy axis se zmenší o n. Klíčová slova numpy prepend a append nejsou implementována.

numpy.flip(a: ndarray, *, axis: int | None = None) ndarray#

Vrátí nové pole s obráceným pořadím prvků podél osy axis; s axis=None se pole obrátí podél každé osy.

numpy.max(a: ndarray | list | tuple, *, axis: int | None = None, keepdims: bool = False) ndarray | int | float#

Vrátí maximální prvek podél osy axis. S axis=None (výchozí) se zploštěné pole zredukuje na skalár. Klíčové slovo numpy out není implementováno.

numpy.min(a: ndarray | list | tuple, *, axis: int | None = None, keepdims: bool = False) ndarray | int | float#

Vrátí minimální prvek podél osy axis; protějšek max.

numpy.mean(a: ndarray | list | tuple, *, axis: int | None = None, keepdims: bool = False) ndarray | float#

Vrátí aritmetický průměr podél osy axis. S axis=None (výchozí) se vrátí průměr zploštěného pole jako float.

numpy.median(a: ndarray, *, axis: int | None = None) ndarray | float#

Vrátí medián podél osy axis. S axis=None se pole nejprve zploští. Výstupní dtype je vždy float.

numpy.roll(a: ndarray, shift: int, *, axis: int | None = None) ndarray#

Vrátí a s prvky cyklicky posunutými o shift pozic. S axis=None (výchozí) se pole nejprve zploští. Záporné posuny rolují opačným směrem.

numpy.sort(a: ndarray, *, axis: int = -1) ndarray#

Vrátí seřazenou kopii a podél osy axis pomocí haldového řazení. S axis=None se pole nejprve zploští. Klíčová slova numpy kind a order nejsou implementována.

numpy.std(a: ndarray | list | tuple, *, axis: int | None = None, ddof: int = 0, keepdims: bool = False) ndarray | float#

Vrátí směrodatnou odchylku podél osy axis. ddof je delta stupňů volnosti – použitý dělitel je N - ddof.

numpy.sum(a: ndarray | list | tuple, *, axis: int | None = None, keepdims: bool = False) ndarray | int | float#

Vrátí součet podél osy axis. S axis=None se vrátí celkový součet zploštěného pole jako skalár.

Statistika#

numpy.bincount(x: ndarray, *, weights: ndarray | None = None, minlength: int | None = None) ndarray#

Spočítá počet výskytů každé hodnoty v jednorozměrném nezáporném celočíselném poli x. Dtype x musí být uint8 nebo uint16. Je-li zadáno weights, každá položka x přispívá svou odpovídající váhou namísto 1 a výstup je typu float; jinak je výstup typu uint16. Je-li zadáno minlength, výstupní pole má alespoň tolik prvků (přebytečné položky jsou nulové).

numpy.trace(m: ndarray) int | float#

Vrátí součet diagonálních prvků čtvercové matice m. Návratový typ se řídí dtype m (celočíselná pole produkují int, pole float produkují float).

Transformace#

numpy.compress(condition: ndarray | list | tuple, a: ndarray, *, axis: int | None = None) ndarray#

Vrátí řezy a vybrané podél osy axis booleovskou podmínkou condition. S axis=None se použije zploštěné pole.

numpy.delete(a: ndarray, indices: int | ndarray | list | tuple | range, *, axis: int | None = None) ndarray#

Vrátí kopii a s odstraněnými položkami na indexech indices podél osy axis. S axis=None se pole nejprve zploští. Záporné indexy se počítají od konce osy axis; indices se před odstraněním interně seřadí.

numpy.dot(m1: ndarray, m2: ndarray) ndarray | float#

Vrátí skalární součin dvou polí. U dvou 1-D polí jde o vnitřní součin (skalár float). U 2-D polí jde o maticové násobení; vnitřní rozměry se musí shodovat. Výsledek je vždy typu float.

Aproximace#

numpy.interp(x: ndarray, xp: ndarray, fp: ndarray, *, left: float | None = None, right: float | None = None) ndarray#

Jednorozměrná lineární interpolace. xp musí být monotónně rostoucí 1-D pole nezávislých hodnot; fp obsahuje odpovídající závislé hodnoty; x jsou body, ve kterých se interpolant vyhodnocuje. left a right přepisují hodnotu vrácenou pro x < xp[0] resp. x > xp[-1] (výchozí: fp[0] a fp[-1]).

numpy.trapz(y: ndarray, x: ndarray | None = None, dx: float = 1.0) float#

Integruje y pomocí složeného lichoběžníkového pravidla. Je-li zadáno x, poskytuje pozice vzorků odpovídající y; jinak se použije rozestup dx. y (a x) musí být 1-D.

Výběr#

numpy.take(a: ndarray, indices: ndarray | list | tuple, *, axis: int | None = None, out: ndarray | None = None, mode: str | None = None) ndarray#

Vezme prvky z a na zadaných indexech indices podél osy axis. S axis=None se použije zploštěné pole. mode vybírá chování při překročení mezí: "raise" (výchozí – vyvolá ValueError), "wrap" (modulo délka osy) nebo "clip" (ořez na platný rozsah; záporné indexy nejsou povoleny). Je-li zadáno out, výsledek se do něj zapíše.

Bitové operace#

numpy.bitwise_and(x1: ndarray, x2: ndarray) ndarray#

Prvkové bitové AND dvou celočíselných polí; broadcasting je podporován. Neceločíselný dtype vyvolá výjimku.

numpy.bitwise_or(x1: ndarray, x2: ndarray) ndarray#

Prvkové bitové OR dvou celočíselných polí.

numpy.bitwise_xor(x1: ndarray, x2: ndarray) ndarray#

Prvkové bitové XOR dvou celočíselných polí.

numpy.left_shift(x1: ndarray, x2: ndarray) ndarray#

Prvkový bitový posun x1 doleva o x2 bitů; obě pole musí mít celočíselný dtype.

numpy.right_shift(x1: ndarray, x2: ndarray) ndarray#

Prvkový bitový posun x1 doprava o x2 bitů; obě pole musí mít celočíselný dtype.

Filtrování#

numpy.convolve(a: ndarray, v: ndarray) ndarray#

Vrátí diskrétní lineární konvoluci dvou 1-D polí. Podporován je pouze režim "full"; klíčové slovo numpy mode není přijímáno (jiné režimy lze získat krájením úplného výsledku). Výstupní délka je len(a) + len(v) - 1.

Polynomy#

numpy.polyfit(x: ndarray | list | tuple, y: ndarray | list | tuple, deg: int) ndarray#
numpy.polyfit(y: ndarray | list | tuple, deg: int) ndarray

Proloží body dat (x, y) polynomem stupně deg metodou nejmenších čtverců a vrátí koeficienty polynomu (od nejvyššího stupně). Je-li x vynecháno, použije se range(len(y)). Vyvolá ValueError, pokud se délky x a y liší.

numpy.polyval(p: ndarray | list | tuple, x: ndarray | list | tuple | int | float) ndarray | float#

Vyhodnotí polynom, jehož koeficienty jsou p (od nejvyššího stupně), v bodě x. Je-li x skalár, vrátí se float, jinak ndarray.

I/O#

numpy.load(file: str) ndarray#

Načte pole dříve zapsané pomocí save ze souboru file (platformově nezávislý formát .npy od numpy). Endianita se převádí za běhu, pokud se pořadí bajtů souboru liší od pořadí hostitele.

numpy.loadtxt(file: str, *, delimiter: str | None = None, comments: str = '#', max_rows: int = -1, usecols: int | ndarray | list | tuple | None = None, dtype: int = float, skiprows: int = 0) ndarray#

Načte číselná data z textového souboru file a vrátí je jako ndarray. delimiter je výchozí bílý znak; comments je značka řádkového komentáře; max_rows omezuje počet načtených řádků dat (-1 pro všechny); usecols vybírá sloupce podle indexu; skiprows přeskočí tolik úvodních řádků. Není-li dtype float, hodnoty se konvertují zaokrouhlením.

numpy.save(file: str, a: ndarray) None#

Uloží a do souboru file v platformově nezávislém formátu .npy od numpy.

numpy.savetxt(file: str, a: ndarray, *, delimiter: str = ' ', header: str | None = None, footer: str | None = None, comments: str = '# ') None#

Zapíše a do souboru file jako text. delimiter odděluje hodnoty v rámci řádku; header a footer, jsou-li zadány, se zapíší před/za data, každý s prefixem comments. Hodnoty se zapisují jako čísla s plovoucí desetinnou čárkou.

Univerzální funkce#

Prvkové matematické funkce. Každá přijímá skalár nebo ndarray a vrací výsledek odpovídajícího tvaru (float skalár pro skalární vstup, ndarray pro polní vstup). Je-li volána s ndarray, výsledkem je nové ndarray s plovoucí desetinnou čárkou; lze předat volitelné klíčové slovo out pro zápis výsledku do předem alokovaného float ndarray stejné velikosti.

numpy.acos(x: ndarray | float, /) ndarray | float#

Vypočítá inverzní kosinus (arkuskosinus) každého prvku x; výsledek je v radiánech.

numpy.acosh(x: ndarray | float, /) ndarray | float#

Vypočítá inverzní hyperbolický kosinus každého prvku x.

numpy.arctan2(y: ndarray | float, x: ndarray | float, /) ndarray | float#

Vypočítá dvouargumentový inverzní tangens atan2(y, x) po prvcích; podporuje broadcasting mezi dvěma vstupy.

numpy.around(x: ndarray, /, decimals: int = 0) ndarray#

Zaokrouhlí prvky ndarray x na zadaný počet desetinných míst decimals; první argument musí být ndarray.

numpy.asin(x: ndarray | float, /) ndarray | float#

Vypočítá inverzní sinus (arkussinus) každého prvku x; výsledek je v radiánech.

numpy.asinh(x: ndarray | float, /) ndarray | float#

Vypočítá inverzní hyperbolický sinus každého prvku x.

numpy.atan(x: ndarray | float, /) ndarray | float#

Vypočítá inverzní tangens (arkustangens) každého prvku x; výsledek je v radiánech.

numpy.atanh(x: ndarray | float, /) ndarray | float#

Vypočítá inverzní hyperbolický tangens každého prvku x.

numpy.ceil(x: ndarray | float, /) ndarray | float#

Vypočítá strop (nejmenší celé číslo, které není menší než hodnota) každého prvku x.

numpy.cos(x: ndarray | float, /) ndarray | float#

Vypočítá kosinus každého prvku x (v radiánech).

numpy.cosh(x: ndarray | float, /) ndarray | float#

Vypočítá hyperbolický kosinus každého prvku x.

numpy.degrees(x: ndarray | float, /) ndarray | float#

Převede každý prvek x z radiánů na stupně.

numpy.exp(x: ndarray | float, /) ndarray | float#

Vypočítá exponenciálu e**x každého prvku x.

numpy.expm1(x: ndarray | float, /) ndarray | float#

Vypočítá exp(x) - 1 každého prvku x se zlepšenou přesností v okolí nuly.

numpy.floor(x: ndarray | float, /) ndarray | float#

Vypočítá podlahu (největší celé číslo, které není větší než hodnota) každého prvku x.

numpy.log(x: ndarray | float, /) ndarray | float#

Vypočítá přirozený logaritmus každého prvku x.

numpy.log10(x: ndarray | float, /) ndarray | float#

Vypočítá dekadický logaritmus každého prvku x.

numpy.log2(x: ndarray | float, /) ndarray | float#

Vypočítá dvojkový logaritmus každého prvku x.

numpy.radians(x: ndarray | float, /) ndarray | float#

Převede každý prvek x ze stupňů na radiány.

numpy.sin(x: ndarray | float, /) ndarray | float#

Vypočítá sinus každého prvku x (v radiánech).

numpy.sinc(x: ndarray | float, /) ndarray | float#

Vypočítá normalizovanou funkci sinc sin(pi*x) / (pi*x) každého prvku x.

numpy.sinh(x: ndarray | float, /) ndarray | float#

Vypočítá hyperbolický sinus každého prvku x.

numpy.sqrt(x: ndarray | float, /, *, dtype: int = float) ndarray | float#

Vypočítá druhou odmocninu každého prvku x.

numpy.tan(x: ndarray | float, /) ndarray | float#

Vypočítá tangens každého prvku x (v radiánech).

numpy.tanh(x: ndarray | float, /) ndarray | float#

Vypočítá hyperbolický tangens každého prvku x.

numpy.vectorize(f: Callable[[float], float], /, *, otypes: int | None = None) Callable#

Vrátí volatelný objekt, který aplikuje Python funkci f po prvcích na skalár, iterovatelnou strukturu nebo ndarray; otypes vybírá výstupní dtype (výchozí float).

Konstanty#

numpy.e: float#

Eulerovo číslo \(e \approx 2.71828\).

numpy.pi: float#

\(\pi \approx 3.14159\).

numpy.inf: float#

Kladné nekonečno s plovoucí desetinnou čárkou dle IEEE-754.

numpy.nan: float#

„Není číslo“ (not a number) s plovoucí desetinnou čárkou dle IEEE-754.

numpy.bool: int#

Dtype kód pro booleovská pole (uložená jako uint8).

numpy.uint8: int#

Dtype kód pro bezznaménková 8bitová celočíselná pole.

numpy.int8: int#

Dtype kód pro znaménková 8bitová celočíselná pole.

numpy.uint16: int#

Dtype kód pro bezznaménková 16bitová celočíselná pole.

numpy.int16: int#

Dtype kód pro znaménková 16bitová celočíselná pole.

numpy.float: int#

Dtype kód pro 32bitová pole s plovoucí desetinnou čárkou.