import pandas as pd
import numpy
N = 100
data = pd.DataFrame({
'A': numpy.random.randint(0, 5, N),
'B': numpy.random.randint(0, 3, N),
'X': numpy.random.rand(N),
'Y': numpy.random.rand(N),
})
data.groupby(['A', 'B']).agg({'X': ['sum', 'count'], 'Y': ['sum', 'count']})
Y | X | ||||
---|---|---|---|---|---|
sum | count | sum | count | ||
A | B | ||||
0 | 0 | 1.049082 | 3 | 1.670366 | 3 |
1 | 5.578948 | 11 | 6.407933 | 11 | |
2 | 1.228797 | 3 | 1.674203 | 3 | |
1 | 0 | 0.970503 | 2 | 1.152771 | 2 |
1 | 2.410762 | 5 | 2.727062 | 5 | |
2 | 5.685782 | 12 | 6.092611 | 12 | |
2 | 0 | 1.065329 | 4 | 1.488982 | 4 |
1 | 4.147895 | 11 | 5.999030 | 11 | |
2 | 4.694436 | 9 | 4.075007 | 9 | |
3 | 0 | 4.446768 | 8 | 2.976906 | 8 |
1 | 1.600019 | 3 | 1.204319 | 3 | |
2 | 5.457779 | 10 | 4.391731 | 10 | |
4 | 0 | 2.109207 | 6 | 1.780748 | 6 |
1 | 3.242274 | 6 | 3.170702 | 6 | |
2 | 2.669061 | 7 | 3.298991 | 7 |
import datetime
x = pd.Series(['1', '2', '3', numpy.nan])
y = pd.Series(['1/1/2012', '1/1/2013'])
y2 = y.apply(lambda v: pd.datetools.parse(v, dayfirst=True))