1 category的创建及其性质
1.1 分类变量的创建
四类创建方法:
- Series
- 对DataFrame指定类型
- 使用内置Categorical类型
- 使用cut函数
# Series方法创建
pd.Series(["a", "b", "c", "a"], dtype="category")
# 对DataFrame指定类型
temp_df = pd.DataFrame({
'A':pd.Series(["a", "b", "c", "a"], dtype="category"),'B':list('abcd')})
# 使用内置Categorical类型
cat = pd.Categorical(["a", "b", "c", "a"], categories=['a','b','c'])
pd.Series(cat)
# 使用cut函数,默认使用区间类型为标签
pd.cut(np.random.randint(0,60,5), [0,10,30,60])
# 可指定字符为标签
pd.cut(np.random.randint(0,60,5), [0,10,30,60], right=False, labels=['0-10','10-30','30-60'])
1.2 分类变量的结构
包括三个部分,元素值(values)、分类类别(categories)、是否有序(order)。使用cut函数创建的分类变量默认为有序分类变量。
如何获取或修改这些属性?
(a)describe方法
该方法描述了一个分类序列的情况,包括非缺失值个数、元素值类别数(不是分类类别数)、最多次出现的元素及其频数
s = pd.Series(pd.Categorical(["a", "b", "c", "a",np.nan], categories=