Pandas数据离散化
数据离散化
1 .等距分割
将连续型变量的
取值范围
均匀划成n
等份,每份的间距相等。如年龄在0-100范围之间,分成0-9
,10-19
,…,90-99
共10份,每份间距都是10
.向cut传入面元的数量,则会根据数据的最小值和最大值计算等长面元。
1 | df = pd.DataFrame({"age": range(0, 101, 4)}) |
2. 等频分割
把
样本
均匀分为n
等份,每份内包含的观察点数相同。如把所有样本按年龄从小到大排序,分成你n
份,每份样本人数相等。qcut可以根据样本分位数对数据进行面元划分。
1 | df = pd.DataFrame({"age": range(0, 101, 4)}) |
3.自定义距离分割
如年龄按照
bins=[0,18,30,60,100]
的间距分割。labels=['未成年','青年',‘中年’,'老年']
1 | df = pd.DataFrame({"age": range(1, 101, 4)}) |
4.自定义分位数分割
如年龄按照
bins=[0,0.1,0.5,0.8,100]
的间距分割。
1 | df = pd.DataFrame({"age": range(1, 101, 4)}) |