机器学习python中⽤pd.read_excel()读取数据,数据类型是object类型。。
python中⽤pd.read_excel()读取数据,数据类型是object类型,原因可能是包含空格或者⾮法字符,即⾮numeric数据类型,此时有两种⽅法查空格
⽅法1:⽤excel表格查询,这种适合数据量少的⽂件,⽽且是因为空格导致的,空表格(不含任何字符)与含有空格字符的表格是有区别的,含有空格字符的表格左上⾓有绿⾊斜三⾓,因此你到这种表格左上⾓含有绿⾊斜三⾓的格⼦,单击然后按下删除键,删除其中的空格字符
如果你没到绿⾊斜三⾓,⽤⿏标点击任意空格,绿⾊斜三⾓就会显⽰出来
⽅法2 ⽤python代码查询,我的数据集⽤excel打开表是这种
图中红⾊箭头所指的表格含有两个数字,并且⽤“,”隔开,这将导致该列(column)的数据类型是object,⽆法参与机器学习或其他数值计算
如何出这种隐蔽的⾮法字符呢python怎么读取excel的数据
我⽤jupyter notebook,先读取⽂件
倒数第⼆⾏告诉我们,有28个float64类型,46个int64类型,5个object类型
⽤⼀下代码出是哪些columns是object,当然你也可以从上⾯两张图的后⾯的数据类型⼀个个查看(如果columns多的话,就很⿇烦)for循环中的79是因为我的columns有79个,不多解释
结果显⽰了我的数据哪⼀列、该列的columns名字以及数据类型,
接下来的代码是根据该列(column)的名字出⾮法字符所在的⾏,如下图所⽰,显⽰在4164,4165…等⾏出现了⾮法字符到’吸烟量⽀/⽇(吸烟者均值)'所在的4164⾏
从excel表格中到columns’吸烟量⽀/⽇(吸烟者均值)'对应的4164⾏,
你发现该表格并没有,⾮法字符,反⽽4166⾏有⾮法字符,如下图所⽰这是为什么呢?因为pandas的DataFrame中columns并不算做⾏,⽽且python是从0开始,与excel从1开始,其实我⽤的是wps哈哈
接下来⼀个个到该⾮法字符,删除就完了
如果你没到绿⾊斜三⾓,⽤⿏标点击任意空格,绿⾊斜三⾓就会显⽰出来

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。