赞
踩
案例11:cut函数与数据分组
1)cut的用法
设置包含最小值,
不包括左,包括右,可用right = False包括左,不包括右
显示成组别格式
数值统计:
还可以不指定面元的界限,直接传入一个整数参数,cut()会按照指定的数字,将元素划分为相应的几部分。
2)qcut用法
而qcut()可以保证每个面元的数量相同
按分位数切分
3)自定义分组函数
使用案例
文本格式,方便复制:
#定义分组函数
def binning(col,cut_points,labels=None):
#要分组的连续变量的最大值和最小值
minval=col.min()
maxval=col.max()
#利用最大值和最小值创建分箱点的的列表
break_points=[minval]+cut_points+[maxval]
#处理标签,如果没有标签则使用0、1...n-1
if not labels:
labels=range(len(cut_points)+1)
#使用pandas的cut功能分箱
colbin=pandas.cut(col,bins=break_points,labels=labels,include_lowest=True)
return colbin
#使用案例
cut_points=[20,30,50]
labels=["low","midium","high","very high"]
data["age_group"]=binning(income["age"],cut_points,labels)
print(pandas.value_counts(data["age_group"],sort=False))
案例12:绘图案例
案例13:dataframe转为list格式
income数据
转化后的数据
案例14:字典整理,删除部分key值
删除上述内容不是字段的key
程序:
案例15:agg函数内调用的函数只能对分组进行聚合使用
0)数据源及分组变量:
计算分组值
1)统计计算不同的分组值
2)设置新的变量名称
3)可以计算特殊的函数,如lamda,还可以使用字符串作为一个function
案例16:collections 的counter模块,设置一个简单的计数器,统计字符出现的个数:
collections是Python内建的一个集合模块,提供了许多有用的集合类。
collections的常用类型有:
计数器(Counter)
双向队列(deque)
默认字典(defaultdict)
有序字典(OrderedDict)
可命名元组(namedtuple)
使用以上类型时需要导入模块 from collections import *
案例17:针对一个单词,删除,替换,交换位置等
多次循环案例参考:
案例17:date_range日期序列
参数:
pandas.date_range(start=None, end=None, periods=None, freq=’D’, tz=None, normalize=False, name=None, closed=None, **kwargs)
start:string或datetime-like,默认值是None,表示日期的起点。
end:string或datetime-like,默认值是None,表示日期的终点。
periods:integer或None,默认值是None,表示你要从这个函数产生多少个日期索引值;如果是None的话,那么start和end必须不能为None。
freq:string或DateOffset,默认值是’D’,表示以自然日为单位,这个参数用来指定计时单位,比如’5H’表示每隔5个小时计算一次。
tz:string或None,表示时区,例如:’Asia/Hong_Kong’。
normalize:bool,默认值为False,如果为True的话,那么在产生时间索引值之前会先把start和end都转化为当日的午夜0点。
name:str,默认值为None,给返回的时间索引指定一个名字。
closed:string或者None,默认值为None,表示start和end这个区间端点是否包含在区间内,可以有三个值,’left’表示左闭右开区间,’right’表示左开右闭区间,None表示两边都是闭区间。
案例:
指定开始和结束日期:
指定日期跨度:
随机产生时间序列数据
案例18:统计输出的内容数量
案例19:sklearn进行简单回归分析
1)导入数据源
2)训练
3)计算均方误差函数
案例20:sklearn进行逻辑回归的步骤
1)导入数据(打乱数据的随机数)
2)区分测试和训练数据,随机抽取80%
3)预测准确性计算
因为predict_proba返回的是一个两列的数组,数组的每一行代表的是对一个样本的预测结果,有多少样本就有多少行,第一列代表该样本不会发生的概率,第二列代表的是该样本会发生的概率。
而计算fpr、tpr需要的是数组中的第二列的数据。
4)绘制roc曲线、计算最大的auc
结果:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。