Pandas & NumPy Academy · Les

Een Series maken

Maak een Pandas Series vanuit een Python-lijst, een dict en een NumPy-array en bekijk de attributen index en values.

Les 1 van 413 stappen

Een Series maken is een gratis Pandas & NumPy Academy-les op CoddyKit. Dit is les 1 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Pandas & NumPy Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Pandas & NumPy Academy bevat in totaal 4 lessen.

Wat is een Pandas Series?

Een Pandas Series is een eendimensionale array met labels die elk gegevenstype kan bevatten — gehele getallen, kommagetallen, tekenreeksen, Python-objecten of zelfs andere Series. Zie het als een NumPy-array met een aangepaste index (labels voor elk element). Die index maakt Series veel krachtiger dan gewone arrays voor analysetaken waarbij waarden beschrijvende namen nodig hebben.

import pandas as pd
import numpy as np

s = pd.Series([10, 20, 30, 40])
print(s)
# 0    10
# 1    20
# 2    30
# 3    40
# dtype: int64

Een Series maken vanuit een Python-lijst

Als je een Python-lijst doorgeeft aan pd.Series(), wordt een Series gemaakt met een standaard integer RangeIndex (0, 1, 2, ...). Je kunt aangepaste indexlabels opgeven via de parameter index=. De lengte van de indexlijst moet overeenkomen met de lengte van de gegevens. Labels kunnen tekenreeksen, gehele getallen, datums of andere hashbare Python-objecten zijn.

import pandas as pd

temps = pd.Series([22.5, 19.0, 25.3, 17.8],
                  index=['Mon', 'Tue', 'Wed', 'Thu'])
print(temps)
# Mon    22.5
# Tue    19.0
# Wed    25.3
# Thu    17.8
# dtype: float64

Een Series maken vanuit een woordenboek

Je kunt een Python-dict rechtstreeks doorgeven aan pd.Series(). De sleutels van het dict worden de indexlabels en de waarden worden de gegevens. Dit is een van de natuurlijkste manieren om een Series te maken wanneer je gegevens al betekenisvolle labels hebben. De resulterende Series wordt geordend volgens de invoegvolgorde van het dict (Python 3.7+).

import pandas as pd

stock = {'AAPL': 182.5, 'GOOG': 141.3, 'MSFT': 378.9}
s = pd.Series(stock)
print(s)
# AAPL    182.5
# GOOG    141.3
# MSFT    378.9
# dtype: float64

Een Series maken vanuit een NumPy-array

Een NumPy ndarray kan als gegevensargument worden doorgegeven. Het dtype van de Series komt overeen met het dtype van de ndarray. De onderliggende gegevens worden opgeslagen als een NumPy-array, dus alle NumPy-ufuncs werken rechtstreeks op Series. Daardoor kun je bestaande NumPy-code eenvoudig naar Pandas overzetten zonder de logica voor gegevensvoorbereiding te herschrijven.

import pandas as pd
import numpy as np

arr = np.linspace(0, 1, 5)
s = pd.Series(arr, index=['a', 'b', 'c', 'd', 'e'])
print(s)
# a    0.00
# b    0.25
# c    0.50
# d    0.75
# e    1.00

De kenmerken .index en .values

s.index geeft het Index-object terug dat de labels bevat. s.values geeft de onderliggende NumPy-array met gegevenswaarden terug. Beide zijn essentieel voor interoperabiliteit: je kunt s.values aan elke NumPy-functie doorgeven en het resultaat terug omzetten naar een Series met de oorspronkelijke index. s.dtype geeft het gegevenstype van de waarden.

import pandas as pd

s = pd.Series([3, 1, 4], index=['x', 'y', 'z'])
print(s.index)   # Index(['x', 'y', 'z'], dtype='object')
print(s.values)  # [3 1 4]
print(s.dtype)   # int64

Naam van de Series en naam van de index

Een Series kan een kenmerk .name hebben dat beschrijft wat de waarden voorstellen, en de index kan een kenmerk .name hebben dat beschrijft wat de labels voorstellen. Deze namen verschijnen in DataFrames wanneer een Series aan een kolom wordt toegewezen en in labels van grafieken. Stel ze in met s.name = 'price' of bij het maken met name=.

import pandas as pd

s = pd.Series([1.2, 3.4, 5.6],
              index=['a', 'b', 'c'],
              name='measurement')
s.index.name = 'label'
print(s)
# label
# a    1.2
# b    3.4
# c    5.6
# Name: measurement, dtype: float64

Een Series met een scalaire waarde maken

Als je één scalaire waarde met een expliciete index doorgeeft aan pd.Series(), wordt een Series gemaakt waarvan elk element gelijk is aan die scalaire waarde. Dit lijkt op NumPy's np.full() en is handig om constante basis-Series te maken die je van een echte gegevens-Series kunt aftrekken of waarmee je deze kunt vergelijken.

import pandas as pd

s = pd.Series(5, index=['a', 'b', 'c', 'd'])
print(s)
# a    5
# b    5
# c    5
# d    5
# dtype: int64

Automatische uitlijning van indexen

Een van de krachtigste functies van Pandas Series is automatische uitlijning van indexen. Wanneer je twee Series optelt, lijnt Pandas ze vóór de berekening uit op basis van hun labels. Als een label in de ene Series voorkomt maar niet in de andere, is het resultaat bij dat label NaN. Dit voorkomt onopvallende fouten met een verschuiving van één positie die vaak voorkomen bij bewerkingen met NumPy-arrays.

import pandas as pd

a = pd.Series([1, 2], index=['x', 'y'])
b = pd.Series([10, 20], index=['y', 'z'])
print(a + b)
# x     NaN
# y    12.0
# z     NaN

De lengte en vorm van een Series controleren

len(s) geeft het aantal elementen terug. s.shape geeft een tuple (n,) terug, in overeenstemming met de conventies van NumPy. s.size is hetzelfde als len(s). Gebruik deze controles aan het begin van een pijplijn om te controleren of het laden van je gegevens het verwachte aantal rijen heeft opgeleverd voordat je doorgaat met de analyse.

import pandas as pd

s = pd.Series(range(10))
print(len(s))     # 10
print(s.shape)    # (10,)
print(s.size)     # 10
print(s.ndim)     # 1

Een Series naar andere typen converteren

Je kunt een Series terug converteren naar een Python-lijst met s.tolist(), naar een NumPy-array met s.to_numpy() of s.values, en naar een dict met s.to_dict(). Deze conversies zijn nuttig voor interoperabiliteit met bibliotheken die geen Pandas-objecten accepteren en voor het serialiseren van resultaten naar JSON of CSV.

import pandas as pd

s = pd.Series([10, 20, 30], index=['a', 'b', 'c'])
print(s.tolist())      # [10, 20, 30]
print(s.to_numpy())    # [10 20 30]
print(s.to_dict())     # {'a': 10, 'b': 20, 'c': 30}

Series versus een DataFrame-kolom

Een enkele kolom van een DataFrame is een Series. Wanneer je df['col'] gebruikt, geeft Pandas een Series terug met dezelfde index als het DataFrame. Omgekeerd kun je een Series met een name rechtstreeks als kolom in een DataFrame invoegen. Als je deze relatie begrijpt, kun je soepel wisselen tussen bewerkingen op Series en DataFrames.

import pandas as pd

df = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]})
col = df['a']           # Series
print(type(col))        # <class 'pandas.core.series.Series'>
print(col.values)       # [1 2 3]

Korte controle

Test je begrip van het maken van Pandas Series uit deze les.

Samenvatting van de les

In deze les heb je geleerd: een Series is een gelabelde 1D-array die is gebaseerd op een NumPy ndarray, je kunt deze maken vanuit lijsten, dicts, NumPy-arrays of scalaire waarden en uitlijning van indexen verwerkt automatisch rekenkundige bewerkingen op basis van labels tussen twee Series. Hierna behandelen we het benaderen van Series-elementen op label met .loc en op positie met .iloc.

Gratis beginnen

Leer Python met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
30
Lessen
120

Veelgestelde vragen

Is de les “Een Series maken” gratis?

Ja — de volledige tekst van “Een Series maken” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Pandas & NumPy Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Pandas & NumPy Academy bevat in totaal 4 lessen.

Wat leer ik in “Een Series maken”?

Maak een Pandas Series vanuit een Python-lijst, een dict en een NumPy-array en bekijk de attributen index en values. Je oefent met Pandas & NumPy Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Pandas & NumPy Academy te beginnen?

Ervaring vooraf is niet nodig. Pandas & NumPy Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.

Hoe lang duurt de les “Een Series maken”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Pandas & NumPy Academy?

Ja. Elke les over Pandas & NumPy Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Een Series maken
  2. Toegang op basis van labels en posities
  3. Gevectoriseerde bewerkingen op Series
  4. Handige Series-methoden
← Terug naar Pandas & NumPy Academy