Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- df = DataFrame(data = {'col1':[1,2,3,4],'col2':[1,2,3,4]}, index =MultiIndex.from_tuples([('a','b'),('a','c'),('a','b'),('a','d')]))
- df.sort_index(inplace=True)
- df
- col1 col2
- a b 1 1
- b 3 3
- c 2 2
- d 4 4
- df.ix['a','b']
- col1 col2
- a b 1 1
- b 3 3
- df.reset_index(inplace=True)
- df.set_index(['level_0','level_1','col1'])
- col2
- level_0 level_1 col1
- a b 1 1
- 3 3
- c 2 2
- d 4 4
- df.ix['a','b',1,'col2'] = 3
- IndexingError: only tuples of length <= 2 supported
- In [12]: df.ix[('a','b'),'col2'] = 3
- In [13]: df
- Out[13]:
- col1 col2
- a b 1 3
- b 3 3
- c 2 2
- d 4 4
- [4 rows x 2 columns]
- df.ix['a','b']
- In [19]: df.reset_index()
- Out[19]:
- level_0 level_1 col1 col2
- 0 a b 1 1
- 1 a c 2 2
- 2 a b 3 3
- 3 a d 4 4
- [4 rows x 4 columns]
- In [20]: df.reset_index().set_index(['level_0','level_1','col1'])
- Out[20]:
- col2
- level_0 level_1 col1
- a b 1 1
- c 2 2
- b 3 3
- d 4 4
- [4 rows x 1 columns]
- In [21]: df2 = df.reset_index().set_index(['level_0','level_1','col1'])
- In [22]: df2.ix[('a','b',1)] = 10
- In [23]: df2
- Out[23]:
- col2
- level_0 level_1 col1
- a b 1 10
- c 2 2
- b 3 3
- d 4 4
- [4 rows x 1 columns]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement