python数据分析之pandas(10)离散化和元面划分

为对连续数据进行分区,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)] //只要有一列满足这个条件,则展示整行

发布了127 篇原创文章 · 获赞 10 · 访问量 24万+

猜你喜欢

转载自blog.csdn.net/u012599545/article/details/104384831
今日推荐