python数据分析及处理案例技巧11-20(基于jupyter)
2017-12-07 00:00
681 查看
案例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)计算均方误差函数
[b]案例20:sklearn进行[/b]逻辑回归的步骤1)导入数据(打乱数据的随机数)
2)区分测试和训练数据,随机抽取80%
3)预测准确性计算
因为predict_proba返回的是一个两列的数组,数组的每一行代表的是对一个样本的预测结果,有多少样本就有多少行,第一列代表该样本不会发生的概率,第二列代表的是该样本会发生的概率。而计算fpr、tpr需要的是数组中的第二列的数据。
4)绘制roc曲线、计算最大的auc
结果:
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)计算均方误差函数
[b]案例20:sklearn进行[/b]逻辑回归的步骤1)导入数据(打乱数据的随机数)
2)区分测试和训练数据,随机抽取80%
3)预测准确性计算
因为predict_proba返回的是一个两列的数组,数组的每一行代表的是对一个样本的预测结果,有多少样本就有多少行,第一列代表该样本不会发生的概率,第二列代表的是该样本会发生的概率。而计算fpr、tpr需要的是数组中的第二列的数据。
4)绘制roc曲线、计算最大的auc
结果:
相关文章推荐
- (原创)大数据时代:基于微软案例数据库数据挖掘知识点总结(Microsoft 顺序分析和聚类分析算法)
- 心得11--案例分析request.getparameter()方法的用法及请求乱码处理、分配器方法
- Hadoop学习笔记—20.网站日志分析项目案例(二)数据清洗
- (原创)大数据时代:基于微软案例数据库数据挖掘知识点总结(Microsoft 神经网络分析算法)
- 基于数据挖掘的客户流失分析案例
- (原创)大数据时代:基于微软案例数据库数据挖掘知识点总结(Microsoft 神经网络分析算法原理篇)
- python处理遥感影像---采用MODIS植被数据(VCC/VCF)产品MOD44B来分析我国近十二年(如:2000~2011年)的植被空间分布变化
- 大数据高效复制的处理案例分析总结
- Hadoop学习笔记—20.网站日志分析项目案例(二)数据清洗
- python使用Image处理图片常用技巧分析
- python数据分析-处理CSV/EXCEL表格文件
- 基于Python的流式数据分析平台
- Hadoop学习笔记—20.网站日志分析项目案例(二)数据清洗
- python使用Image处理图片常用技巧分析
- 大数据时代:基于微软案例数据库数据挖掘知识点总结(Microsoft 关联规则分析算法)
- 【工程处理技巧一篇】基于半规则数据的命名实体消歧识别【未完】
- python&php数据抓取、爬虫分析与中介,有网址案例
- 基于Python的数据分析(2):字符串编码
- (原创)大数据时代:基于微软案例数据库数据挖掘知识点总结(Microsoft 关联规则分析算法)
- Python3 模拟MapReduce处理分析大数据文件——《Python宝典》