Nemotorný

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 15. května 2022; kontroly vyžadují 3 úpravy .
nemotorný
Typ Knihovna Pythonu [d] a matematický software [d]
Autor Travis Oliphant [d]
Vývojář Travis Oliphant [d]
Zapsáno v Python , C [2] a Fortran
Operační systém Operační systém podobný Unixu , macOS a Microsoft Windows
První vydání 1995
Nejnovější verze 1.23.0 [1] ( 23. června 2022 )
Čitelné formáty souborů NumPy data [d]
Vygenerované formáty souborů NumPy data [d]
Licence upravená licence BSD [d] [3]
webová stránka numpy.org
 Mediální soubory na Wikimedia Commons

NumPy  (zkratka pro Numerical Python ) je open source knihovna pro programovací jazyk Python . Schopnosti:

Schůzka

Matematické algoritmy implementované v interpretovaných jazycích (např. Python) jsou často mnohem pomalejší než stejné algoritmy implementované v kompilovaných jazycích (např . Fortran , C , Java ). Knihovna NumPy poskytuje implementace výpočetních algoritmů (ve formě funkcí a operátorů), které jsou optimalizovány pro práci s vícerozměrnými poli. Výsledkem je, že jakýkoli algoritmus, který lze vyjádřit jako posloupnost operací na polích (maticích) a implementovat pomocí NumPy, je stejně rychlý jako ekvivalentní kód běžící v MATLABu [4] .

Srovnání s MATLABem

NumPy lze považovat za bezplatnou alternativu k MATLABu. Programovací jazyk MATLAB povrchně připomíná NumPy: oba jsou interpretovány, oba umožňují provádět operace s poli (maticemi) a nikoli se skaláry . Výhodou MATLABu je přítomnost velkého množství balíčků („toolboxů“), například Simulink . Pro NumPy existují podobné "balíčky", například knihovna SciPy poskytuje více funkcí jako MATLAB, knihovna Matplotlib umožňuje vytvářet grafy ve stylu MATLAB. Jak MATLAB, tak NumPy používají kód založený na kódu v knihovně LAPACK k řešení základních problémů lineární algebry .

Příklad

Podívejme se na příklad práce s NumPy v interaktivním shellu IPython .

Spuštění Pythonu z příkazového řádku:

ipython -pylab

Kód:

x = řádkový prostor ( 0 , 2 * pi , 100 ) y = sin ( x ) plot ( x , y , 'ro-' ) show ()

V důsledku skriptu knihovna Matplotlib vytvoří graf zobrazený na obrázku.

Historie

V roce 1995 napsal programátor Jim Hugunin knihovnu Numeric Python. Knihovna se vyvíjela s pomocí mnoha lidí, včetně Jima Fultona, Davida Aschera, Paula DuBoise a Konrada Hinsena. Knihovna je k dispozici dodnes, je považována za vcelku stabilní a kompletní, avšak zastaralou.

Numeric byl navržen, aby byl přidán do standardní knihovny Pythonu, ale Guido Van Rossum (autor Pythonu) jasně řekl, že kód v tehdejším stavu byl neudržitelný.

Číselná knihovna navíc zpracovávala velké množství dat pomalu.

Na základě knihovny Numeric byla vytvořena knihovna NumArray. Číselný kód byl zcela přepsán.

Knihovna NumArray zpracovávala velká pole dat rychleji než knihovna Numeric, ale zpracovávala malá pole pomaleji.

Nějakou dobu se používaly jak knihovna Numeric, tak knihovna NumArray. Nejnovější verze Numeric (v24.2) byla vydána 11. listopadu 2005 . Nejnovější verze NumArray (v1.5.2) byla vydána 24. srpna 2006 [5] . Knihovnu NumArray již není doporučeno používat [6] .

Na začátku roku 2005 chtěl programátor Travis Oliphant sjednotit komunitu kolem jednoho projektu a vytvořil knihovnu NumPy, která by nahradila knihovny Numeric a NumArray. NumPy byl vytvořen z číselného kódu. Číselný kód byl přepsán, aby se snáze udržoval a do knihovny lze přidávat nové funkce. Do NumPy byly přidány funkce NumArray.

NumPy byl původně součástí knihovny SciPy. Aby mohly jiné projekty používat knihovnu NumPy, byl její kód umístěn do samostatného balíčku.

Zdrojový kód NumPy je ve veřejné doméně. Existuje velké množství dokumentace. Existuje dokonce i podrobný „ Průvodce NumPy “ [7] .

NumPy v1.3.0 byl vydán 5. dubna 2009 a podporuje Python v2.6 [8] . Od verze 1.5.0 byla přidána podpora pro Python v3.

Viz také

Poznámky

  1. v1.23.0 .
  2. Numpy Open Source Project na Open Hub: Stránka jazyků - 2006.
  3. https://github.com/numpy/numpy/blob/master/LICENSE.txt
  4. SciPy PerformancePython . Získáno 25. června 2006. Archivováno z originálu 3. dubna 2012.
  5. Soubory NumPy Sourceforge . Získáno 24. března 2008. Archivováno z originálu dne 3. dubna 2012.
  6. Domovská stránka Numarray . Získáno 24. června 2006. Archivováno z originálu 9. června 2021.
  7. Oliphant, Travis E. Průvodce NumPy  (neopr.) .
  8. Poznámky k vydání NumPy 1.3.0 . Získáno 2. května 2009. Archivováno z originálu dne 3. dubna 2012.

Odkazy

Literatura

  • Andreas Müller, Sarah Guido. Úvod do strojového učení s Pythonem. Data Scientists Guide = Úvod do strojového učení s Pythonem: Průvodce pro datové vědce. - Williams , 2017. - 480 s. - ISBN 978-5-9908910-8-1 , 978-1-449-36941-5.
  • J. Vander Plas. Python pro složité úkoly. Data Science and Machine Learning = Python Data Science Handbook: Základní nástroje pro práci s daty. - Petr , 2017. - 576 s. — ISBN 978-5-496-03068-7 .