2016-09-30 55 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