Nusset

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 15. maj 2022; checks kræver 3 redigeringer .
nusset
Type Python-bibliotek [d] og matematiksoftware [d]
Forfatter Travis Oliphant [d]
Udvikler Travis Oliphant [d]
Skrevet i Python , C [2] og Fortran
Operativ system Unix-lignende operativsystem , macOS og Microsoft Windows
Første udgave 1995
nyeste version 1.23.0 [1] ( 23. juni 2022 )
Læsbare filformater NumPy data [d]
Genererede filformater NumPy data [d]
Licens ændret BSD-licens [d] [3]
Internet side numpy.org
 Mediefiler på Wikimedia Commons

NumPy  (forkortelse for Numerical Python ) er et open source-bibliotek til programmeringssproget Python . Evner:

Udnævnelse

Matematiske algoritmer implementeret i fortolkede sprog (f.eks. Python) er ofte meget langsommere end de samme algoritmer implementeret i kompilerede sprog (f.eks . Fortran , C , Java ). NumPy-biblioteket leverer implementeringer af beregningsalgoritmer (i form af funktioner og operatorer), der er optimeret til at arbejde med multidimensionelle arrays. Som følge heraf er enhver algoritme, der kan udtrykkes som en sekvens af operationer på arrays (matricer) og implementeret ved hjælp af NumPy, lige så hurtig som den tilsvarende kode, der kører i MATLAB [4] .

Sammenligning med MATLAB

NumPy kan ses som et gratis alternativ til MATLAB. MATLAB-programmeringssproget minder overfladisk om NumPy: begge fortolkes, begge giver dig mulighed for at udføre operationer på arrays (matricer) og ikke på skalarer . Fordelen ved MATLAB er tilstedeværelsen af ​​et stort antal pakker ("værktøjskasser"), for eksempel Simulink . For NumPy er der også lignende "pakker", for eksempel giver SciPy -biblioteket mere MATLAB-lignende funktionalitet, Matplotlib-biblioteket giver dig mulighed for at oprette plots i MATLAB-stilen. Både MATLAB og NumPy bruger kode baseret på koden i LAPACK- biblioteket til at løse grundlæggende lineære algebraproblemer .

Eksempel

Lad os se på et eksempel på at arbejde med NumPy i den interaktive IPython -skal .

Kører Python fra kommandolinjen:

ipython -pylab

Koden:

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

Som et resultat af scriptet vil Matplotlib-biblioteket oprette grafen vist i figuren.

Historie

I 1995 skrev programmøren Jim Hugunin det numeriske Python-bibliotek. Biblioteket har udviklet sig med hjælp fra mange mennesker, herunder Jim Fulton, David Ascher, Paul DuBois og Konrad Hinsen. Biblioteket er tilgængeligt den dag i dag, det anses for ret stabilt og komplet, men forældet.

Numeric blev foreslået tilføjet til Python-standardbiblioteket, men Guido Van Rossum (Pythons forfatter) gjorde det klart, at koden i dens daværende tilstand var uvedligeholdelig.

Derudover var det numeriske bibliotek langsom til at behandle store mængder data.

Baseret på det numeriske bibliotek blev NumArray-biblioteket oprettet. Den numeriske kode er blevet fuldstændig omskrevet.

NumArray-biblioteket behandlede store arrays af data hurtigere end det numeriske bibliotek, men behandlede små arrays langsommere.

I et stykke tid blev både det numeriske bibliotek og NumArray-biblioteket brugt. Den seneste version af Numeric (v24.2) blev udgivet den 11. november 2005 . Den seneste version af NumArray (v1.5.2) blev udgivet den 24. august 2006 [5] . NumArray-biblioteket anbefales ikke længere til brug [6] .

I begyndelsen af ​​2005 ønskede programmør Travis Oliphant at forene fællesskabet omkring ét projekt og oprettede NumPy-biblioteket til at erstatte Numeric- og NumArray-bibliotekerne. NumPy blev oprettet ud fra den numeriske kode. Den numeriske kode er blevet omskrevet for at være nemmere at vedligeholde, og nye funktioner kan tilføjes til biblioteket. NumArray-funktioner er blevet tilføjet til NumPy.

NumPy var oprindeligt en del af SciPy-biblioteket. For at tillade andre projekter at bruge NumPy-biblioteket, er dets kode blevet placeret i en separat pakke.

NumPy-kildekoden er i det offentlige domæne. Der er en stor mængde dokumentation. Der er endda en detaljeret " Guide til NumPy " [7] .

NumPy v1.3.0 blev udgivet den 5. april 2009 og understøtter Python v2.6 [8] . Understøttelse af Python v3 er blevet tilføjet siden version 1.5.0.

Se også

Noter

  1. v1.23.0 .
  2. Det nuttede Open Source-projekt på Open Hub: Languages-side - 2006.
  3. https://github.com/numpy/numpy/blob/master/LICENSE.txt
  4. SciPy PerformancePython . Hentet 25. juni 2006. Arkiveret fra originalen 3. april 2012.
  5. NumPy Sourceforge-filer . Hentet 24. marts 2008. Arkiveret fra originalen 3. april 2012.
  6. Numarray hjemmeside . Hentet 24. juni 2006. Arkiveret fra originalen 9. juni 2021.
  7. Oliphant, Travis E. Guide to NumPy  (neopr.) .
  8. NumPy 1.3.0 Release Notes . Hentet 2. maj 2009. Arkiveret fra originalen 3. april 2012.

Links

Litteratur

  • Andreas Müller, Sarah Guido. En introduktion til maskinlæring med Python. Data Scientists Guide = Introduktion til Machine Learning med Python: A Guide for Data Scientists. - Williams , 2017. - 480 s. - ISBN 978-5-9908910-8-1 , 978-1-449-36941-5.
  • J. Vander Plas. Python til komplekse opgaver. Data Science and Machine Learning = Python Data Science Handbook: Essential Tools for Working with Data. - Peter , 2017. - 576 s. — ISBN 978-5-496-03068-7 .