NumPy

NumPy
Logo
NumPy
Ontwerp en ontwikkeling
Categorie opensourcesoftware
numerieke wiskunde
Ontwerper(s) Travis Oliphant
Ontwikkelaar(s) gemeenschapsproject
Besturings­systeem platform-onafhankelijk
Geschreven in Python, C, Fortran
Status en tijdlijn
Uitgebracht 1995 (30 jaar)
Recentste versie 2.5.2 (9 augustus 2026)[1] Bewerken op Wikidata
Onderdelen
Licentie(s) BSD-licentie van 3 clausules
Links
Website (en) (ja) (pt) Officiële website
Versiebeheer Broncode
Portaal  Portaalicoon   Informatica


NumPy of numpy is een uitbreiding op de programmeertaal Python met als doel in Python array's en matrices te kunnen gebruiken en met een grote bibliotheek van wiskundige functies om met deze arrays te werken. Het is opensourcesoftware. De voorganger van numpy, Numeric, werd oorspronkelijk door Jim Hugunin gemaakt met bijdragen van diverse andere ontwikkelaars. Travis Oliphant maakte numpy in 2005 door het grote deel van Numarray erin op te nemen en er uitgebreide aanpassingen aan toe te voegen.[2]

Geschiedenis

Numpy is op twee eerdere pakketten Python om array's te bewerken gebaseerd. Numeric, dat redelijk compleet en stabiel is, blijft beschikbaar maar is achterhaald. Numpy werd oorspronkelijk voor een groot deel in 1995 door Jim Hugunin geschreven, maar hij kreeg daar de hulp van anderen bij, van Jim Fulton, David Ascher, Paul DuBois en Konrad Hinsen. Numeric is in de nieuwere implementatie Numarray volledig herschreven, maar is ook uitgefaseerd. Numpy is een combinatie van de twee, bouwt voort op Numeric, maar met de kenmerken van Numarray eraan toegevoegd.

Er is geprobeerd Numeric in de standaard bibliotheek van Python te krijgen, maar Guido van Rossum, de grondlegger van Python, was van mening dat de code in de toenmalige staat niet was te onderhouden. Een ander probleem was dat voor grote arrays Numeric erg traag was. Als gevolg hiervan werd een ander pakket genaamd Numarray gemaakt. Numarray was sneller voor grote arrays, maar langzamer voor kleine arrays. Enige tijd werden Numeric en Numarray naast elkaar gebruikt, beide met een andere manier om dezelfde doelen te bereiken. De laatste versie van Numeric v24.2 werd op 11 november 2005 uitgebracht en Numarray v1.5.2 werd vrijgegeven op 24 augustus 2006.[3]

Travis Oliphant heeft in het begin van 2005 geprobeerd beide pakketten te verenigen. De code van Numeric werd aangepast om het beter te kunnen onderhouden en het flexibel genoeg te maken om de nieuwe functies van Numarray toe te kunnen passen. Dit nieuwe project was een onderdeel van SciPy. Om te voorkomen dat een heel pakket moest worden geïnstalleerd alleen maar om een array te kunnen declareren, werd dit het nieuwe, aparte pakket NumPy. De broncode is vrij beschikbaar.[2]

Versie 1.5.1 van numpy is compatibel met Python versie 2.4-2.7 en 3.1+. Ondersteuning voor Python 3 werd toegevoegd in 1.5.0.[4] PyPy startte in 2011 de ontwikkeling van een API van de NumPy voor PyPy.[5]

Motivatie

Pythonprogramma's worden in het algemeen door een interpreter uitgevoerd, wat maakt dat wiskundige algoritmen vaak langzamer lopen dan in computerprogramma's die zijn gecompileerd. NumPy lost dit op door multidimensionale arrays te gebruiken, met daarbij de nodige bewerkingen die op de arrays kunnen worden toegepast. Een programma waarin vooral veel bewerkingen op arrays en matrices worden uitgevoerd is met het gebruik van numpy bijna net zo snel als hetzelfde programma in de C, dat wordt gecompileerd. PyPy is een alternatieve implementatie van Python waarbij de broncode wordt gecompileerd op het moment dat die wordt uitgevoerd.

NumPy is een gratis alternatief voor MATLAB. MATLAB wordt net zoals Python geïnterpreteerd. Zowel Python als MATLAB stellen de gebruiker in staat om snel programma's te schrijven, dit zolang de meeste handelingen werken met arrays of matrices in plaats van enkelvoudige variabelen. Een voordeel van MATLAB is het grote aantal extra modules dat beschikbaar is, waaronder Simulink. NumPy heeft daarentegen het voordeel dat Python moderner en completer is en opensource. Andere, aanvullende Python-pakketten zijn ook beschikbaar: SciPy is een bibliotheek die op MATLAB lijkt en Matplotlib is een pakket om uiteenlopende grafieken zoals in MATLAB te maken. Zowel MATLAB en NumPy zijn op LAPACK gebaseerd voor de nodige berekeningen in de lineaire algebra.

Voorbeeld

Hieronder staat er een voorbeeld van hoe NumPy en matplotlib kunnen worden gebruikt om er een grafiek mee te maken.

>>> import numpy
>>> from matplotlib import pyplot
>>> x = numpy.linspace(0, 2 * numpy.pi, 100)
>>> y = numpy.sin(x)
>>> pyplot.plot(x, y)
>>> pyplot.show()
Commons heeft media­bestanden in de categorie NumPy.
Wikibooks heeft een Engelstalig boek over dit onderwerp: Python Programming/numpy.

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.