In [7]:
from pandas import DataFrame, Series
In [8]:
import pandas as pd
In [9]:
import numpy as np
In [10]:
data = Series(np.random.randn(10),
index=[['a', 'a', 'a', 'b', 'b', 'b', 'c', 'c', 'd', 'd'],
[1, 2, 3, 1, 2, 3, 1, 2, 2, 3]])
In [11]:
data
Out[11]:
In [11]:
data.index
Out[11]:
In [12]:
data['b']
Out[12]:
In [13]:
data['b':'c']
Out[13]:
In [14]:
data.ix[['b', 'd']]
Out[14]:
In [15]:
data[:, 2]
Out[15]:
In [16]:
data.unstack()
Out[16]:
In [17]:
data.unstack().stack()
Out[17]:
In [18]:
frame = DataFrame(np.arange(12).reshape((4, 3)),
index=[['a', 'a', 'b', 'b'], [1, 2, 1, 2]],
columns=[['Ohio', 'Ohio', 'Colorado,'],
['Green', 'Red', 'Green']])
In [19]:
frame
Out[19]:
In [22]:
frame.index.names = ['key1', 'key2']
In [23]:
frame.columns.names = ['state', 'color']
In [24]:
frame
Out[24]:
In [25]:
frame['Ohio']
Out[25]:
In [27]:
from pandas import MultiIndex
In [28]:
MultiIndex.from_arrays([['Ohio', 'Ohio', 'Colorado'],
['Green', 'Red', 'Green']],
names=['state', 'color'])
Out[28]:
In [29]:
frame.swaplevel('key1', 'key2')
Out[29]:
In [30]:
frame.sortlevel(1)
Out[30]:
In [31]:
frame.swaplevel(0, 1).sortlevel(0)
Out[31]:
In [32]:
frame.sum(level='key2')
Out[32]:
In [33]:
frame.sum(level='color', axis=1)
Out[33]:
In [34]:
frame = DataFrame({'a': range(7), 'b': range(7, 0, -1),
'c': ['one', 'one', 'one', 'two', 'two', 'two', 'two'],
'd': [0, 1, 2, 0, 1, 2, 3]})
In [35]:
frame
Out[35]:
In [38]:
frame2 = frame.set_index(['c', 'd'])
In [39]:
frame2
Out[39]:
In [40]:
frame.set_index(['c', 'd'], drop=False)
Out[40]:
In [41]:
frame2.reset_index()
Out[41]:
In [42]:
ser = Series(np.arange(3.))
In [44]:
ser
Out[44]:
In [45]:
ser2 = Series(np.arange(3.), index=['a', 'b', 'c'])
In [46]:
ser2[-1]
Out[46]:
In [47]:
ser.ix[:1]
Out[47]:
In [48]:
ser3 = Series(range(3), index=[-5, 1, 3])
In [52]:
ser3.iloc[2]
Out[52]:
In [53]:
frame = DataFrame(np.arange(6).reshape(3, 2), index=[2, 0, 1])
In [55]:
frame.iloc[0]
Out[55]: