In [1]:
import numpy as np
import pandas as pd
from pandas import DataFrame, Series
In [3]:
dframe = DataFrame({'k1': list('XXYYX'),
'k2': ['alpha', 'beta', 'alpha', 'beta', 'alpha'],
'dataset1': np.random.randn(5),
'dataset2': np.random.randn(5)})
dframe
Out[3]:
In [4]:
group1 = dframe['dataset1'].groupby(dframe['k1'])
In [5]:
group1
Out[5]:
In [6]:
group1.mean()
Out[6]:
In [7]:
cities = np.array(['NY', 'LA', 'LA', 'NY', 'NY'])
month = np.array(['JAN', 'FEB', 'JAN', 'FEB', 'JAN'])
In [8]:
group1 = dframe['dataset1'].groupby([cities, month]).mean()
In [9]:
group1
Out[9]:
In [10]:
dframe.groupby('k1').mean()
Out[10]:
In [11]:
dframe.groupby(['k1', 'k2']).mean()
Out[11]:
In [12]:
dframe.groupby(['k1', 'k2']).size()
Out[12]:
In [14]:
for name, group in dframe.groupby('k1'):
print "This is the %s group" %name
print group
print '\n'
In [15]:
for (k1, k2), group in dframe.groupby(['k1', 'k2']):
print 'Key1 = %s Key2 = %s' %(k1,k2)
print group
print '\n'
In [17]:
group_dict = dict(list(dframe.groupby('k1')))
group_dict['X']
Out[17]:
In [18]:
group_dict_axis1 = dict(list(dframe.groupby(dframe.dtypes, axis=1)))
In [19]:
group_dict_axis1
Out[19]:
In [23]:
group_dict_axis1.keys()
Out[23]:
In [27]:
group_dict_axis1[np.dtype('float64')]
Out[27]:
In [28]:
dataset2_group = dframe.groupby(['k1', 'k2'])[['dataset2']]
dataset2_group.mean()
Out[28]:
In [ ]: