博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
通过partial构造Pandas分组规则
阅读量:6908 次
发布时间:2019-06-27

本文共 882 字,大约阅读时间需要 2 分钟。

hot3.png

Pandas通常可以用groupby来对某一列进行分组,例如:

df = pd.read_csv("sugars.csv",header=None)df.columns=["time","pop"]#分组groupby(字段名)则直接对其进行分组df.groupby("pop").count()

但如果我想求人口数为单数的分组类型,可以向groupby直接加入一个函数:

df.index = df["pop"]#设定规则函数def group_mod2(value):    return value%2    #将规则作为变量直接输入    groupbydf3 = df.groupby(group_mod2).count()
df3   time  pop0       14   141     18   182       16   16

直接将设定的函数作为参数导入groupby函数中就可以,但值得注意的是groupby作为闭包向group_mod2传递的参数默认为是DataFrame的index值,当然如果需要指定某列可以将其设定为index,也可以改为:

#如设定pop为规则字段df.groupby(group_mod2(df["pop"])).count()

当然这样设置的参数就很不灵活了,因此在设置分组规则时可以用partial来代替,这样就可以灵活的对规则进行复用:

#设定分组规则def group_regular(value, mod):    return value%mod    from functoolsimport partialdf2 = df.groupby(partial(group_regular,mod=3)).count()

-----------sugar---------------shikanon.com-----------------sugar-----------------sugar---

转载于:https://my.oschina.net/Kanonpy/blog/538074

你可能感兴趣的文章
开源Xen是如何衰落的?
查看>>
Pivot Table系列之切片器 (Slicer)
查看>>
windows下安装mysql5.6及基本命令
查看>>
jsp的九个内置对象简介
查看>>
用户如何获得***服务---步骤与效果
查看>>
学习沟通技巧--- SOFTEN法则与SOLER法则
查看>>
用户密码重设对EFS的影响
查看>>
基于mdrill的大数据分析
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
pr睁眼闭眼学习笔记
查看>>
Struts2的一些简单配置,供同同们参考
查看>>
【Interface&navigation】创建一个自定义通知(43)
查看>>
继续探索其他不同类型Activity的属性,可以获取到所有Activity的属性
查看>>
Spring+Struts2+Hibernate整合
查看>>
韩顺平 Mysql数据库优化(一) 优化概述
查看>>
Jenkins实现自动运行jmeter脚本并出具报告的实现
查看>>
Nagios插件-nconf
查看>>
软件测试
查看>>