微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Pandas的分组练习

练习一,汽车数据集

现有一份汽车数据集,其中Brand, disp., HP分别代表汽车品牌、发动机蓄量、发动机输出

在这里插入图片描述

1.先过滤出所属Country数超过2个的汽车,即若该汽车的Country在总体数据集中出现次数不超过2则剔除,再按Country分组计算价格均值、价格变异系数、该Country的汽车数量,其中变异系数的计算方法是标准差除以均值,并在结果中把变异系数重命名为CoV:
中途换用Jupyternotebook,比pytorch简洁,易直观。

在这里插入图片描述

2.按照表中位置的前三分之一、中间三分之一和后三分之一分组,统计Price的均值。

在这里插入图片描述

3.对类型Type分组,对Price和HP分别计算最大值和最小值,结果会产生多级索引,请用下划线把多级列索引合并为单层索引

在这里插入图片描述

4.对类型Type分组,对HP进行组内的min-max归一化**(取出HP列用transform调用)**

在这里插入图片描述


5.对类型Type分组,计算disp.与HP的相关系数

在这里插入图片描述

练习二:实现transform 函数

  • groupby 对象的构造方法是my_groupby(df, group_cols) 支持单列分组与多列分组

  • 支持带有标量广播的my_groupby(df)[col].transform(my_func) 功能 pandas 的transform

  • 不能跨列计算,请支持功能,即仍返回Series 但col 参数为多列

  • 无需考虑性能与异常处理,只需实现上述功能,在给出测试样例的同时与pandas 中的transform 对比结果是否一致

补充:groupby优先分组原则,即是froupby函数的第一步,常数解释:

  • by:分组字段
  • axis:指定方向,认o表示沿着行
  • as_index:将列作为输出索引
  • reset_index:当False时
  • 在这里插入图片描述


    当我进行:单列字段的转换格式作为分组字段 这边出现这种情况,这里错用了类,应该使使用传列名或是list!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐