Zoeken…


Voorbeelden van het maken van eenvoudige series

Een reeks is een gegevensstructuur met één dimensie. Het lijkt een beetje op een supercharged array of een woordenboek.

import pandas as pd

s = pd.Series([10, 20, 30])

>>> s
0    10
1    20
2    30
dtype: int64

Elke waarde in een reeks heeft een index. Standaard zijn de indices gehele getallen die lopen van 0 tot de reekslengte min 1. In het bovenstaande voorbeeld ziet u de indices links van de waarden.

U kunt uw eigen indices opgeven:

s2 = pd.Series([1.5, 2.5, 3.5], index=['a', 'b', 'c'], name='my_series')

>>> s2
a    1.5
b    2.5
c    3.5
Name: my_series, dtype: float64

s3 = pd.Series(['a', 'b', 'c'], index=list('ABC'))

>>> s3
A    a
B    b
C    c
dtype: object

Serie met datetime

import pandas as pd
import numpy as np

np.random.seed(0)
rng = pd.date_range('2015-02-24', periods=5, freq='T')
s = pd.Series(np.random.randn(len(rng)), index=rng)  
print (s)

2015-02-24 00:00:00    1.764052
2015-02-24 00:01:00    0.400157
2015-02-24 00:02:00    0.978738
2015-02-24 00:03:00    2.240893
2015-02-24 00:04:00    1.867558
Freq: T, dtype: float64

rng = pd.date_range('2015-02-24', periods=5, freq='T')
s1 = pd.Series(rng)  
print (s1)

0   2015-02-24 00:00:00
1   2015-02-24 00:01:00
2   2015-02-24 00:02:00
3   2015-02-24 00:03:00
4   2015-02-24 00:04:00
dtype: datetime64[ns]

Een paar snelle tips over Series in Panda's

Laten we aannemen dat we de volgende serie hebben:

>>> import pandas as pd
>>> s = pd.Series([1, 4, 6, 3, 8, 7, 4, 5])
>>> s
0    1
1    4
2    6
3    3
4    8
5    7
6    4
7    5
dtype: int64

Hieronder volgen enkele eenvoudige dingen die van pas komen wanneer u met Series werkt:

Om de lengte van s te krijgen:

>>> len(s)
8

Toegang krijgen tot een element in s:

>>> s[4]
8

Toegang krijgen tot een element in s met behulp van de index:

>>> s.loc[2]
6

Toegang krijgen tot een subreeks binnen s:

>>> s[1:3]
1    4
2    6
dtype: int64

Om een subreeks van s te krijgen met waarden groter dan 5:

>>> s[s > 5]
2    6
4    8
5    7
dtype: int64

Om de minimale, maximale, gemiddelde en standaardafwijking te krijgen:

>>> s.min()
1
>>> s.max()
8
>>> s.mean()
4.75
>>> s.std()
2.2519832529192065

Om het serietype om te zetten in float:

>>> s.astype(float)
0    1.0
1    4.0
2    6.0
3    3.0
4    8.0
5    7.0
6    4.0
7    5.0
dtype: float64

Ga als volgt te werk om de waarden in s als een reeks te krijgen:

>>> s.values
array([1, 4, 6, 3, 8, 7, 4, 5])

Een kopie maken van s:

>>> d = s.copy()
>>> d
0    1
1    4
2    6
3    3
4    8
5    7
6    4
7    5
dtype: int64

Een functie toepassen op een serie

Panda's bieden een effectieve manier om een functie toe te passen op elk element van een serie en een nieuwe serie te krijgen. Laten we aannemen dat we de volgende serie hebben:

>>> import pandas as pd
>>> s = pd.Series([3, 7, 5, 8, 9, 1, 0, 4])
>>> s
0    3
1    7
2    5
3    8
4    9
5    1
6    0
7    4
dtype: int64

en een vierkante functie:

>>> def square(x):
...     return x*x

We kunnen eenvoudig vierkant toepassen op elk element van s en een nieuwe serie krijgen:

>>> t = s.apply(square)
>>> t
0     9
1    49
2    25
3    64
4    81
5     1
6     0
7    16
dtype: int64

In sommige gevallen is het gemakkelijker om een lambda-expressie te gebruiken:

>>> s.apply(lambda x: x ** 2)
0     9
1    49
2    25
3    64
4    81
5     1
6     0
7    16
dtype: int64

of we kunnen elke ingebouwde functie gebruiken:

>>> q = pd.Series(['Bob', 'Jack', 'Rose'])
>>> q.apply(str.lower)
0     bob
1    jack
2    rose
dtype: object

Als alle elementen van de serie tekenreeksen zijn, is er een eenvoudigere manier om tekenreeksmethoden toe te passen:

>>> q.str.lower()
0     bob
1    jack
2    rose
dtype: object
>>> q.str.len()
0    3
1    4
2    4


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow