当前位置:   article > 正文

python数据分析及处理案例技巧11-20(基于jupyter)

jupyterh agg()

案例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

结果:


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/138545
推荐阅读
相关标签
  

闽ICP备14008679号