机器学习-每日一坑
Posted 一棵棵大树
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习-每日一坑相关的知识,希望对你有一定的参考价值。
问题描述
若样本含有混合数据类型,比如数据本身是int,但混合进字符型,那么读取后,该列dtypes会升级成object。 导致数据使用不便。如下:
列名:gl_id_h0_time,数据类型:object
列名:gl_id_h0_list_level,数据类型:object
列名:gl_id_h0_group_num,数据类型:object
列名:gl_id_h0_orgType,数据类型:object
列名:gl_id_h0_orgnum,数据类型:object
列名:gl_id_h1_time,数据类型:object
列名:gl_id_h1_list_level,数据类型:object
列名:gl_id_h1_group_num,数据类型:object
列名:gl_id_h1_orgType,数据类型:object
列名:gl_id_h1_orgnum,数据类型:object
列名:gl_id_h2_time,数据类型:object
列名:gl_id_h2_list_level,数据类型:object
列名:gl_id_h2_group_num,数据类型:object
列名:gl_id_h2_orgType,数据类型:object
列名:gl_id_h2_orgnum,数据类型:object
列名:gl_id_h3_time,数据类型:object
列名:gl_id_h3_list_level,数据类型:object
列名:gl_id_h3_group_num,数据类型:object
解决方案:
读取数据时,跳过目标行,代码如下:
pd.read_csv("./sample/test.csv",encoding="utf-8",skiprows=[1])
经验总结:
1、skiprows是个集合,可以对数据进行分析有问题的记录,获取行索引,进行批量跳过。
2、读取数据之后进行问题数据删除,无法解决该问题,因为数据已经完成了读取
3、结合 data.select_dtypes(include=["int64","float64"]) 进行目标列数据选取
以上是关于机器学习-每日一坑的主要内容,如果未能解决你的问题,请参考以下文章