python报TypeError: cannot convert the series to <class 'float'>

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Norsaa/article/details/79040401

场景:在使用python进行数据格式转换时,想将利用正则表达式取出的一列值转换为float格式,转换前检查该列的格式是object

1:原格式查看

in:     data1['coupon_money'].dtype

out:     dtype('O')

2:转换

in:   data1['coupon_money']=float(data1['coupon_money'])

out:    TypeError: cannot convert the series to <class 'float'>

解决过程:解决该问题时走了很多弯路,尝试了很多方法进行转换,最后都没有成功,最后根据报错,是数据里有series,所以转而寻找数据里的series。

解决方案:在该列里使用value_counts发现,数据里有空值,该空值比较特殊,既不是None,也不是Null,而是一个空格

in:        data1['coupon_money'].value_count()

out:      1         12

                       143

            2         45

数量为143的值就是报错点,找到这些值后删除这些行,再进行转换就可以了

猜你喜欢

转载自blog.csdn.net/Norsaa/article/details/79040401