Amikor pandasban az index egy dátum - akkor a DataFrame átalakul time series-é, azaz idősorrá.


In [3]:
import pandas as pd

In [4]:
df=pd.DataFrame([0,1,25,36,4,75,68,7,8])

In [5]:
df.columns=['Ertek']

In [6]:
df['Ev']=[2001,2001,2002,2002,2003,2003,2003,2004,2008]
df['Honap']=[1,2,1,2,5,6,7,8,8]

In [7]:
df['Szepdatum']=pd.to_datetime(df['Ev'].astype(str)+'-'+df['Honap'].astype(str))

In [8]:
df.set_index('Szepdatum').sort_index()


Out[8]:
Ertek Ev Honap
Szepdatum
2001-01-01 0 2001 1
2001-02-01 1 2001 2
2002-01-01 25 2002 1
2002-02-01 36 2002 2
2003-05-01 4 2003 5
2003-06-01 75 2003 6
2003-07-01 68 2003 7
2004-08-01 7 2004 8
2008-08-01 8 2008 8

In [11]:
df['Szepdatum'].dt.day


Out[11]:
0    1
1    1
2    1
3    1
4    1
5    1
6    1
7    1
8    1
Name: Szepdatum, dtype: int64

In [12]:
df['Szepdatum'].dt.month


Out[12]:
0    1
1    2
2    1
3    2
4    5
5    6
6    7
7    8
8    8
Name: Szepdatum, dtype: int64

In [13]:
df['Szepdatum'].dt.year


Out[13]:
0    2001
1    2001
2    2002
3    2002
4    2003
5    2003
6    2003
7    2004
8    2008
Name: Szepdatum, dtype: int64

In [18]:
df['Szepdatum'].dt.month_name()


Out[18]:
0     January
1    February
2     January
3    February
4         May
5        June
6        July
7      August
8      August
Name: Szepdatum, dtype: object

In [17]:
df['Szepdatum'].dt.month_name('HUN')


Out[17]:
0       Január
1      Február
2       Január
3      Február
4        Május
5       Június
6       Július
7    Augusztus
8    Augusztus
Name: Szepdatum, dtype: object

In [20]:
df['Szepdatum'].dt.weekday_name


Out[20]:
0      Monday
1    Thursday
2     Tuesday
3      Friday
4    Thursday
5      Sunday
6     Tuesday
7      Sunday
8      Friday
Name: Szepdatum, dtype: object