Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import pandas as pd
- mi = pd.MultiIndex(
- levels=[['group1', 'group2'], [1,2,3,4]],
- codes=[[0,0,1,1], [0,1,2,3]],
- names=['group', 'id']
- )
- df = pd.DataFrame({
- 'col1': [400, 300, 200, 100],
- 'col2': [10, 20, 30, 40],
- }, index=mi)
- max_idx = df.groupby(level='group').idxmax()
- ret = max_idx.apply(lambda d:d.transform(lambda d:df.loc[d]).stack(), axis=1)
- print(ret)
- # col1 col2
- # col1 col2 col1 col2
- #group
- #group1 400 10 300 20
- #group2 200 30 100 40
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement