当前位置: 首页 > news >正文

蒙阴做网站深圳北斗部标平台网站建设

蒙阴做网站,深圳北斗部标平台网站建设,网页搜索神器,动易网站 模板分组 分组的关键要素是: 分组依据、数据来源、操作及其返回结果。 df.groupby(分组依据)[数据来源].使用操作对学生按照性别统计身高中位数。 print(df.groupby(Gender)[Height].median())上面是一维度进行分组,如果要根据多个维度分组,则…

分组

分组的关键要素是:

分组依据、数据来源、操作及其返回结果。

df.groupby(分组依据)[数据来源].使用操作

对学生按照性别统计身高中位数。

print(df.groupby('Gender')['Height'].median())

上面是一维度进行分组,如果要根据多个维度分组,则只需要传入相应列名构造的列表即可。

例如,按照学校、性别统计身高的中位数。

print(df.groupby(['School', 'Gender'])['Height'].median())

如果希望通过一定的复杂逻辑来分组,例如根据学生体重是否超过总体均值来分组,同样还是计算身高的中位数。

print(df.groupby(df['Weight'] > df['Weight'].mean())['Height'].mean()
)print(df.groupby(df.iloc[:,5] > df.iloc[:,5].mean())['Height'].mean()
)

通过ngroups属性,可以得到分组个数:

gb = df.groupby(df.iloc[:,5] > df.iloc[:,5].mean())
print(gb.ngroups)

通过groups属性,可以返回从组名映射到组索引列表的字典:

res = gb.groups
print(res.keys())

groupby对象上表示统计每个组的元素个数:

print(gb.size())

通过get_group方法可以直接获取所在组对应的行,此时必须知道组的具体名字:

print(gb.get_group(True).head())

分组的三大操作:聚合、变换和过滤,分别对应aggtransformfilter函数及其操作。

聚合

返回标量

内置聚合函数

包括如下函数:max/min/mean/median/count/all/any/idxmax/idxmin/mad/nunique/skew/quantile/sum/std/var/sem/size/prod

gb = df.groupby('Gender')['Height']
print(gb.idxmin())

agg方法

groupby对象虽然定义了很多方便的函数,但是有以下缺点:

  • 无法同时使用多个函数
  • 无法对特定的列使用特定的聚合函数
  • 无法使用自定义的聚合函数
  • 无法直接对结果的列名在聚合前进行自定义命名
使用多个函数

当使用多个聚合函数时,需要用列表的形式把内置聚合函数对应的字符串传入,先前提到的所有字符串都是合法的。

gb = df.groupby('Gender')['Height']
print(gb.agg(['sum', 'idxmax', 'skew']))
对特定的列使用特定的聚合函数

对于方法和列的特殊对应,可以通过构造字典传入agg中实现,其中字典以列名为键,以聚合字符串或字符串列表为值。

gb = df.groupby('Gender')
print(gb.agg({'Height':['mean','max'], 'Weight':'count'}))
使用自定义函数

可以在agg中使用具体的自定义函数,需要注意传入函数的参数是之前数据源中的列

gb = df.groupby('Gender')['Height']
print(gb.agg(lambda x: x.mean()-x.min()))
聚合结果重命名

如果想要对聚合结果的列名进行重命名,只需要将上述函数的位置改写成元组,元组的第一个元素为新的名字,第二个位置为原来的函数,包括聚合字符串和自定义函数。

gb = df.groupby('Gender')['Height']
print(gb.agg([('range', lambda x: x.max()-x.min()), ('my_sum', 'sum')]))

对一个或者多个列使用单个聚合的时候,重命名需要加方括号,否则就不知道是新的名字还是手误输错的内置函数字符串。

变换和过滤

换函数的返回值为同长度的序列,最常用的内置变换函数是累计函数:cumcount/cumsum/cumprod/cummax/cummin,它们的使用方式和聚合函数类似,只不过完成的是组内累计操作。

过滤在分组中是对于组的过滤,而索引是对于行的过滤,在第二章中的返回值,无论是布尔列表还是元素列表或者位置列表,本质上都是对于行的筛选,即如果符合筛选条件的则选入结果表,否则不选入。

组过滤作为行过滤的推广,指的是如果对一个组的全体所在行进行统计的结果返回True则会被保留,False则该组会被过滤,最后把所有未被过滤的组其对应的所在行拼接起来作为DataFrame返回。

gb = df.groupby('Gender')['Height']
print(gb.size())
print(gb.filter(lambda x: x.shape[0] > 100).head())

Joyful-Pandas-课程详情 | Datawhale

http://www.yayakq.cn/news/34227/

相关文章:

  • 36氪网站用什么程序做的专业网站制作设计公司哪家好
  • 新加坡房产网站大全微盟是做什么的
  • 企业网站建设基本思路宜春网络营销是什么
  • 珠海医疗网站建设公司排名用文本文档做网站
  • 青浦网站制作su35设计模板在哪里找
  • win不用iis做网站网站首页制作怎么做的
  • 网站众筹该怎么做码制作官网
  • 无锡网站制作公司排名线上产品推广方案
  • 哪个是网站建设里面的wordpress 菜单 首页
  • 建设工程消防信息网站建设网站证书查询
  • 网站开发培训班 上地如何选择盐城网站开发
  • 网络规划设计师岗位建网站seo
  • 打名字就说你是什么做的网站网站搭建申请
  • aspnet做网站视频教程安徽省住房和城乡建设厅网站6
  • 网站建设在哪里学房子如何上网站做民宿
  • 商丘网站建设有限公司软文是什么
  • 网站和数据库郑州高端品牌网站建设
  • jsp网站开发四库全书开发公司土地评估费计入土地价款
  • o2o网站建设代理商创建全国文明城市简报
  • 门户网站的首页模板腾讯企点注册
  • 网站建设后台功能最近发生的重大军事新闻
  • 企业级网站欣赏怎么介绍自己做的企业网站页面
  • 怀化网站优化联系方式wordpress 更改页面排版
  • 开发一个网站大概多少钱灵山县建设局网站
  • 专业的门户网站建设买了个域名 如何建网站
  • 网站推广的主流方法公司网站免费网站免费
  • 网站登录到wordpress技能培训机构排名前十
  • flash网站建设教程视频如何去国外网站看内容
  • 网上竞价采购网站建设下载企业微信app免费
  • 做游戏数据分析的网站绍兴网站建设方案推广