Cursus
Arrays zijn fundamentele datastructuren in veel programmeertalen. Ze bieden een manier om verzamelingen elementen van hetzelfde type op te slaan in een aaneengesloten blok geheugen—wat betekent dat alle elementen zonder onderbrekingen achter elkaar worden opgeslagen. Deze structuur maakt efficiënt toegang tot en bewerking van de opgeslagen elementen mogelijk.
In tegenstelling tot talen als C of Java heeft Python niet in traditionele zin een ingebouwd array-datatype. In plaats daarvan biedt Python verschillende alternatieven die zich als arrays gedragen, elk geschikt voor andere programmeerbehoeften en scenario's.
De standaardbibliotheek van Python bevat een array-module, waarmee je compacte, type-beperkte arrays kunt maken, vergelijkbaar met die in sterker getypeerde talen.
Voor numerieke en wetenschappelijke computing is de NumPy-bibliotheek en de ndarray (n-dimensionale array) echter de standaard in Python geworden. NumPy-arrays bieden uitgebreide functionaliteit die veel verder gaat dan de basisstructuur die de standaardbibliotheek van Python biedt.
De basis van een array
NumPy is het fundament voor numerieke computing in Python en biedt een krachtig array-object en een reeks functies om efficiënt met deze arrays te werken. De voordelen van NumPy zijn:
• Multidimensionaal: Ondersteunt meer dan alleen eendimensionale arrays.
• Krachtige bewerkingen: Bevat een uitgebreide bibliotheek met wiskundige en statistische functies.
• Vectorisatie: Maakt bewerkingen op hele arrays mogelijk zonder expliciete lussen, wat de prestaties verbetert.
• Integratie: Werkt naadloos samen met andere wetenschappelijke bibliotheken zoals SciPy, Pandas en Matplotlib.
Laten we beginnen met het maken van een array met NumPy. Je importeert eerst NumPy en gebruikt vervolgens de functie array() om een array te maken. De functie array() neemt een lijst als invoer.
import numpy
my_array = numpy.array([0, 1, 2, 3, 4])
print(my_array)
# Expected output: [0 1 2 3 4]
Het type van my_array is een numpy.ndarray.
import numpy
my_array = numpy.array([0, 1, 2, 3, 4])
print(type(my_array))
# Expected output: <class 'numpy.ndarray'>
Array-voorbeelden
Voorbeeld van het maken van een array
In het onderstaande voorbeeld zet je een lijst om naar een array met de functie array() uit NumPy. Je maakt een lijst a_list met gehele getallen. Zet deze vervolgens met de functie array() om naar een array.
import numpy as np
a_list = [1, 2, 3, 4]
print(a_list)
# Expected output: [1, 2, 3, 4]
import numpy as np
a_list = [1, 2, 3, 4]
an_array = np.array(a_list)
print(an_array)
# Expected output: [1 2 3 4]
Voorbeeld van een array-bewerking
In het onderstaande voorbeeld tel je twee NumPy-arrays op. Het resultaat is een elementgewijze som van beide arrays.
import numpy as np
array_A = np.array([1, 2, 3])
array_B = np.array([4, 5, 6])
print(array_A + array_B)
# Expected output: [5 7 9]
Voorbeeld van array-indexering
Je kunt een specifiek element op een bepaalde index uit een array selecteren met indexnotatie.
import numpy as np
months_array = np.array(['Jan', 'Feb', 'March', 'Apr', 'May'])
print(months_array[3])
# Expected output: Apr
Je kunt ook een bereik van elementen slicen met de slicing-notatie door een bereik van indexen op te geven.
import numpy as np
months_array = np.array(['Jan', 'Feb', 'March', 'Apr', 'May'])
print(months_array[2:5])
# Expected output: ['March', 'Apr', 'May']
Interactief voorbeeld: van lijst naar array
In het onderstaande voorbeeld importeer je numpy met de alias np. Maak de arrays prices_array en earnings_array op basis van respectievelijk de lijsten prices en earnings. Print tot slot beide arrays.
import numpy as np
# Lists
prices = [170.12, 93.29, 55.28, 145.30, 171.81, 59.50, 100.50]
earnings = [9.2, 5.31, 2.41, 5.91, 15.42, 2.51, 6.79]
# NumPy arrays
prices_array = np.array(prices)
earnings_array = np.array(earnings)
# Print the arrays
print(prices_array)
print(earnings_array)
# Expected output:
# [170.12 93.29 55.28 145.3 171.81 59.5 100.5 ]
# [ 9.2 5.31 2.41 5.91 15.42 2.51 6.79]
Wil je meer leren over NumPy-arrays in Python? Bekijk dan deze video uit onze cursus Introduction to Python for Finance.
Deze content is afkomstig uit DataCamp's cursus Introduction to Python for Finance van Adina Howe.
Bekijk ook onze Python Numpy Array Tutorial.
FAQs
Wat zijn de belangrijkste verschillen tussen Python’s array-module en NumPy-arrays?
De belangrijkste verschillen zitten in mogelijkheden en gebruikssituaties. Python's array-module biedt basisfunctionaliteit voor het maken van compacte, type-beperkte arrays, vergelijkbaar met die in talen zoals C. NumPy-arrays bieden daarentegen geavanceerde functies, zoals ondersteuning voor multidimensionale arrays, een enorme bibliotheek met wiskundige functies en prestatie-optimalisaties via vectorisatie. NumPy heeft over het algemeen de voorkeur voor numerieke en wetenschappelijke computing.
Kan ik Python’s array-module gebruiken voor string- of object-datatypen?
Nee, de array-module is ontworpen voor alleen basistypen zoals integers, floats en soortgelijke typen. Het ondersteunt geen strings of objecten. Voor verzamelingen van deze typen zijn Python's list of andere datastructuren, zoals tuples of dictionaries, geschikter.
Waarom NumPy-arrays gebruiken in plaats van Python-lijsten voor numerieke data?
NumPy-arrays zijn specifiek geoptimaliseerd voor numerieke berekeningen. Ze bieden efficiënte opslag- en verwerkingsmogelijkheden die Python-lijsten overtreffen, zeker bij grote datasets. Functies zoals vectorisatie maken bewerkingen op hele arrays mogelijk zonder expliciete lussen, wat de prestaties en de leesbaarheid van de code sterk verbetert.
