根据数据的某列进行打标签这个操作在数据分析领域极度常用,对于一些较为复杂的打标签方法,Python 与 SQL 都能很好的实现,这篇针对 Python,主要用到 map,apply 与 transform 等函数,从初阶到高阶,体会方法的异同优劣。
针对北京某地区房价数据进行数据分析过程中的打标签操作,增加可读性的同时也可以根据源数据集来增加一些本来没有的变量,并对并生成可能会对模型精度有提升效果的布尔变量。
源数据(一小部分)
需求:
map 字典映射法,看图即可理解用法,dist 列的拼音全部变成了对应的中文。
apply 法
刚刚的 map 针对的是 “静态数据”,即为名义变量,“动态数据” 如 roomnum 房间数量列则为数值变量,既然是数值变量,那数目肯定非常多,像 AREA 面积列,分类后的唯一固定值太多了,不像地区那样就那么六个,这时候就可以祭出 apply 了。同样,作为必会且极度出名的 apply,使用方法也无须多言,直接上效果图。
需求:给房间数目 roomnum 分层
先探索性数据分析查看一下各地区的平均房价分布情况
分组求每个地区的房价平均值,并转化成字典
还有没有更能体现实力的方法呢?—— transform
transform 作用机理