练习一,汽车数据集
现有一份汽车数据集,其中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!