第九章 分类数据
一 所需要知识点
crosstab 第一个参数是列,第二个参数是行;
pd.corsstab(df.A, df.B)
- 结构语法如下:
pd.crosstab(index, columns, values=None,
rownames=None, colnames=None, aggfunc=None, margins=False,
margins_name: str = ‘All’, dropna: bool = True,
normalize=False)
2.参数类型
ndex:类数组,在行中按分组的值。
columns:类数组的值,用于在列中进行分组。
values:类数组的,可选的,要根据因素汇总的值数组。
aggfunc:函数,可选,如果未传递任何值数组,则计算频率表。
rownames:序列,默认为None,必须与传递的行数组数匹配。
colnames:序列,默认值为None,如果传递,则必须与传递的列数组数匹配。
margins:布尔值,默认为False,添加行/列边距(小计)
normalize:布尔值,{‘all’,‘index’,‘columns’}或{0,1},默认为False。
习题1
题目再现:
答案:
习题2
题目再现:
- python中的object
Python中objectpy,object 是所有类继承的基类 因此int、str、list、tuple 等等这些内置的类这些都是type类的实例对象。因为type 也是类,因此type的基类也是object。
object是基类 但是python 当中的类也是对象 所以object 的type()类型也是type type 的type()方法返回type 自己所以object 的type()类型也是type type 的 type()方法返回的是type 自己。
- python中的 category
category类型在pandas中是和string,int等类型并列的一种数据类型;
答案:
#分别采用两种不同的方法,把cut, clarity这两列按照由好到次的顺序,映射到从0到n-1的整数,其中n表示类别的个数。
4.对每克拉的价格分别按照分位数(q=[0.2, 0.4, 0.6, 0.8])与[1000, 3500, 5500, 18000]割点进行分箱得到五个类别Very Low, Low, Mid, High, Very High,并把按这两种分箱方法得到的category序列依次添加到原表中。
考完试回来打卡,太紧张了。。。。。。