Python数据分析基础与应用电子活页4-15创建与使用Pandas的分类对象.docx
Python数据分析基础与应用
模块
PAGE2
PAGE21
电子活页4-15创建与使用pandas的分类对象
【技能训练4-20】创建与使用pandas的分类对象
【训练要求】
在JupyterNotebook开发环境中创建j4-20.ipynb,然后编写代码创建与使用pandas的分类对象。
【实施过程】
1.创建pandas分类对象
(1)指定dtype创建分类对象
代码如下:
importpandasaspd
s1=pd.Series([优,良,轻度,中度,重度],dtype=category)
print(s1)
输出结果:
0优
1良
2轻度
3中度
4重度
dtype:category
Categories(5,object):[中度,优,良,轻度,重度]
(2)使用Categorical()构造函数创建分类对象
代码如下:
importpandasaspd
#自动按优、良、轻度、中度、重度分类
grade1=pd.Categorical([中度,重度,轻度,中度,中度,优,优,良,良,优])
print(grade1)
输出结果:
[中度,重度,轻度,中度,中度,优,优,良,良,优]
Categories(5,object):[中度,优,良,轻度,重度]
代码如下:
#指定类别与排序
grade2=pd.Categorical([中度,重度,轻度,中度,中度,优,优,良,良,优],
[优,良,轻度,中度,重度],ordered=True)
print(grade2)
#求最小值
print(grade2.min())
输出结果:
[中度,重度,轻度,中度,中度,优,优,良,良,优]
Categories(5,object):[优良轻度中度重度]
优
2.获取类别信息
代码如下:
grade3=pd.Categorical([中度,重度,轻度,中度,中度,优,优,良,良,优],
categories=[优,良,轻度,中度,重度])
print(grade3.categories)
print(grade3.ordered)
输出结果:
Index([优,良,轻度,中度,重度],dtype=object)
False
3.获取统计信息
代码如下:
grade4=pd.Categorical([中度,重度,轻度,中度,中度,优,优,良,良,优],
categories=[优,良,轻度,中度,重度])
df4=pd.DataFrame({Grade1:grade4,Grade2:[中度,轻度,轻度,重度,轻度,
良,良,良,轻度,良]})
print(df4.describe())
print(Grade2:)
print(df4[Grade2].describe())
输出结果:
Grade1Grade2
count1010
unique54
top优轻度
freq34
Grade2:
count10
unique4
top轻度
freq4
Name:Grade2,dtype:object
4.分类对象比较
代码如下:
s1=[中度,重度,轻度,中度,中度,优,优,良,良,优]
s2=[中度,轻度,轻度,重度,轻度,良,良,良,轻度,良]
#类别相同,并且ordered均为True
grade5=pd.Categorical(s1,categories=[优,良,轻度,中度,重度],ordered=True)
grade6=pd.Categorical(s2,categories=[优,良,轻度,中度,重度],ordered=True)
print(grade5grade6)
输出结果:
[FalseFalseFalseTrueFalseTrueTrueFalseTrueTrue]