2016-09-30 56 views
2

下面是数据框:statsmodels马赛克情节 - 如何订购类别

import pandas as pd 
from statsmodels.graphics.mosaicplot import mosaic 

df = pd.DataFrame({'size' : ['small', 'large', 'large', 'small', 'large', 'small'], 
'length' : ['long', 'short', 'short', 'long', 'long', 'short']}) 

如果我绘制它mosaic(df, ['size', 'length'])它会在这个顺序small然后large显示size,而我想有large,然后small。有办法实现它吗?

+1

只是排序的'size'柱:'马赛克(df.sort_values( '大小'),[ '大小', '长'])' –

+0

@NickilMaveli很聪明的做法!如果您愿意,您可以将其作为正式答案发布。 – user1700890

回答

2

使用sort_values对存在于大小列中的值进行排序以改变顺序。

mosaic(df.sort_values('size'), ['size', 'length']) 

Image