Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- np.random.seed(123)
- N= 10
- df = pd.DataFrame({
- 'grp':np.random.choice(['aaa','bbb','ccc'], N, p=[0.3, .6, .1]),
- 'val':np.random.randint(100, size=N)
- })
- In [119]: df
- Out[119]:
- grp val
- 0 bbb 46
- 1 aaa 96
- 2 aaa 25
- 3 bbb 83
- 4 bbb 78
- 5 bbb 36
- 6 ccc 96
- 7 bbb 80
- 8 bbb 68
- 9 bbb 49
- In [120]: df['grp'].value_counts()
- Out[120]:
- bbb 7
- aaa 2
- ccc 1
- Name: grp, dtype: int64
- idx = (df.groupby('grp')['val'].transform('count')).sort_values(ascending=False).index
- df.reindex(idx)
- In [126]: df.reindex(idx)
- Out[126]:
- grp val
- 9 bbb 49
- 8 bbb 68
- 7 bbb 80
- 5 bbb 36
- 4 bbb 78
- 3 bbb 83
- 0 bbb 46
- 2 aaa 25
- 1 aaa 96
- 6 ccc 96
Add Comment
Please, Sign In to add comment