为对连续数据进行分区,pandas提供了一些函数:
1. 区间划分
>>> import pandas as pd
>>> results = [1,3,4,8,2,5]
>>> bins = [1,3,9]
>>> cat = pd.cut(results, bins)
注意:这里的bins最小值要小于results中的值,最大值可以相等,否则区间会为NaN
其它参数:
labels=bin_names //给区间命名,如(‘less’, ‘likely’]而不再是具体的数字(1,3)
2.区间统计
pd.value_counts(cat)
可以统计各个区间的数目
3.取值范围均等划分
pd.cut(results, 5)
计算results中最大最小值确定范围后,根据范围确定5个范围长度的区间,长度均等
4.区间样本数目均等划分
pd.qcut(results, 5)
各个区间样本数目一致(总样本能被5整除), 否则前面的区间会比后面的区间多一点
5.异常值检测和过滤
frame.describe() //各列统计量,count/mean/std/min,count为元素个数
frame.std() //每一列的标准差
frame[(np.abs(frame) > (3*frame.std())).any(1)] //只要有一列满足这个条件,则展示整行