在做數據分析的時候,有時候分類變量值默認的排序不是我們想要的,需要調整顯示順序,pandas可以通過pd.Categorical來設置分類變量的顯示順序。
例如,對於數據分析教程常用的diamonds數據集,color等級是從J, I, H, G, F, E, D逐漸上升,如果要考察color等級和價格的關係,自然是希望color按照J, I, H, G, F, E, D順序顯示,但數據默認會按照字母(變量值)在數據中出現的順序或者一般排序的順序。
例如:直接繪圖,color的顯示順序爲變量值在數據中出現的順序
import seaborn as sns
sns.barplot(x = "color", y = "price",data = diamonds)
現在通過pd.Categorical()函數重新設置color列的顯示順序
color_cats = ['J', 'I', 'H', 'G', 'F', 'E', 'D']
diamonds['color'] = pd.Categorical(diamonds['color'], categories=color_cats, ordered=True)
設置完畢後,顯示順序就按照等級順序了。