Numpy

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 15 maj 2022; kontroller kräver 3 redigeringar .
numpy
Sorts Python-bibliotek [d] och matematisk programvara [d]
Författare Travis Oliphant [d]
Utvecklaren Travis Oliphant [d]
Skrivet i Python , C [2] och Fortran
Operativ system Unix-liknande operativsystem , macOS och Microsoft Windows
Första upplagan 1995
senaste versionen 1.23.0 [1] ( 23 juni 2022 )
Läsbara filformat NumPy-data [d]
Genererade filformat NumPy-data [d]
Licens modifierad BSD-licens [d] [3]
Hemsida numpy.org
 Mediafiler på Wikimedia Commons

NumPy  (förkortning av Numerical Python ) är ett bibliotek med öppen källkod för programmeringsspråket Python . Förmågor:

Utnämning

Matematiska algoritmer implementerade i tolkade språk (t.ex. Python) är ofta mycket långsammare än samma algoritmer implementerade i kompilerade språk (t.ex. Fortran , C , Java ). NumPy-biblioteket tillhandahåller implementeringar av beräkningsalgoritmer ( i form av funktioner och operatorer) som är optimerade för att arbeta med flerdimensionella arrayer. Som ett resultat är varje algoritm som kan uttryckas som en sekvens av operationer på arrayer (matriser) och implementeras med hjälp av NumPy lika snabb som motsvarande kod som körs i MATLAB [4] .

Jämförelse med MATLAB

NumPy kan ses som ett gratis alternativ till MATLAB. MATLAB-programmeringsspråket påminner ytligt om NumPy: båda tolkas, båda låter dig utföra operationer på arrayer (matriser) och inte på skalärer . Fördelen med MATLAB är närvaron av ett stort antal paket ("verktygslådor"), till exempel Simulink . För NumPy finns det liknande "paket" också, till exempel ger SciPy -biblioteket mer MATLAB-liknande funktionalitet, Matplotlib-biblioteket låter dig skapa plotter i MATLAB-stilen. Både MATLAB och NumPy använder kod baserad på koden i LAPACK- biblioteket för att lösa grundläggande linjära algebraproblem .

Exempel

Låt oss titta på ett exempel på att arbeta med NumPy i det interaktiva IPython -skalet .

Kör Python från kommandoraden:

ipython -pylab

Koden:

x = linspace ( 0 , 2 * pi , 100 ) y = sin ( x ) plot ( x , y , 'ro-' ) visa ()

Som ett resultat av skriptet kommer Matplotlib-biblioteket att skapa grafen som visas i figuren.

Historik

1995 skrev programmeraren Jim Hugunin det numeriska Python-biblioteket. Biblioteket har utvecklats med hjälp av många människor, inklusive Jim Fulton, David Ascher, Paul DuBois och Konrad Hinsen. Biblioteket är tillgängligt än i dag, det anses vara ganska stabilt och komplett, men föråldrat.

Numeric föreslogs läggas till Python-standardbiblioteket, men Guido Van Rossum (Pythons författare) gjorde det klart att koden i dess dåvarande tillstånd var omöjlig att underhålla.

Dessutom var det numeriska biblioteket långsamt att bearbeta stora mängder data.

Baserat på det numeriska biblioteket skapades NumArray-biblioteket. Den numeriska koden har skrivits om helt.

NumArray-biblioteket behandlade stora arrayer av data snabbare än det numeriska biblioteket, men bearbetade små arrayer långsammare.

Ett tag användes både det numeriska biblioteket och NumArray-biblioteket. Den senaste versionen av Numeric (v24.2) släpptes den 11 november 2005 . Den senaste versionen av NumArray (v1.5.2) släpptes den 24 augusti 2006 [5] . NumArray-biblioteket rekommenderas inte längre för användning [6] .

I början av 2005 ville programmeraren Travis Oliphant förena gemenskapen kring ett projekt och skapade NumPy-biblioteket för att ersätta biblioteken Numeric och NumArray. NumPy skapades från den numeriska koden. Den numeriska koden har skrivits om för att vara enklare att underhålla och nya funktioner kan läggas till i biblioteket. NumArray-funktioner har lagts till i NumPy.

NumPy var ursprungligen en del av SciPy-biblioteket. För att andra projekt ska kunna använda NumPy-biblioteket har dess kod placerats i ett separat paket.

NumPy-källkoden är allmän egendom. Det finns en stor mängd dokumentation. Det finns till och med en detaljerad " Guide till NumPy " [7] .

NumPy v1.3.0 släpptes den 5 april 2009 och stöder Python v2.6 [8] . Stöd för Python v3 har lagts till sedan version 1.5.0.

Se även

Anteckningar

  1. v1.23.0 .
  2. Det numpy Open Source Project på Open Hub: Languages-sidan - 2006.
  3. https://github.com/numpy/numpy/blob/master/LICENSE.txt
  4. SciPy PerformancePython . Hämtad 25 juni 2006. Arkiverad från originalet 3 april 2012.
  5. NumPy Sourceforge-filer . Hämtad 24 mars 2008. Arkiverad från originalet 3 april 2012.
  6. Numarray Hemsida . Hämtad 24 juni 2006. Arkiverad från originalet 9 juni 2021.
  7. Oliphant, Travis E. Guide to NumPy  (neopr.) .
  8. NumPy 1.3.0 Release Notes . Hämtad 2 maj 2009. Arkiverad från originalet 3 april 2012.

Länkar

Litteratur

  • Andreas Müller, Sarah Guido. En introduktion till maskininlärning med Python. Data Scientists Guide = Introduktion till maskininlärning med Python: En guide för dataforskare. - Williams , 2017. - 480 sid. - ISBN 978-5-9908910-8-1 , 978-1-449-36941-5.
  • J. Vander Plas. Python för komplexa uppgifter. Data Science and Machine Learning = Python Data Science Handbook: Essential Tools for Working with Data. - Peter , 2017. - 576 sid. — ISBN 978-5-496-03068-7 .