categories與set_categories

import pandas as pd
import numpy as np

df = pd.DataFrame({"id":[1,2,3,4,5,6], "raw_grade":['a', 'b', 'b', 'a', 'a', 'e']})
#將raw_grade列轉化爲category類型
df["grade"] = df["raw_grade"].astype("category")
print(df["grade"])

這裏寫圖片描述

可以看到此時類標籤的字符a,b,e ;類標籤的集合爲[a,b,e]
打印類標籤的結果如下
這裏寫圖片描述

#改變類別標籤
df["grade"].cat.categories = ["very good", "good", "very bad"]
print(df["grade"])

這裏寫圖片描述
給categories賦值,可以改變類別標籤。賦值的時候是按照順序進行對應的。a對應very good,b對應good,c對應very bad。操作完成之後,原來的標籤a就變成了very good標籤。
此時類標籤的集合爲[“very good”, “good”, “very bad”]

#改變類別標籤集合,注意和上面的對.categories的操作進行區分。
df["grade"] = df["grade"].cat.set_categories(["very bad", "bad", "medium", "good", "very good"])
print(df["grade"])

改變類別標籤集合,操作過後數據的標籤不變,但是標籤的集合變爲[“very bad”, “bad”, “medium”, “good”, “very good”]

#按照類標籤在標籤集中的順序排序,而不是安裝類標籤的字母順序進行排序
dfnew = df.sort_values(by="grade")
print(dfnew)

 

 

 

#根據類標籤進行分組
df.groupby("grade").size()

這裏寫圖片描述



 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章