首页 > 编程语言 > python

Debug01:ValueError: could not convert string to float

admin python 2021-05-25 09:25:18 ValueError Debug01 convert float String 
后台-系统设置-扩展变量-手机广告位-内容正文底部

pandas ValueError: could not convert string to float: (dataframe string 转 float)(object 转 float)

问题:pandas 导入 csv文件之后,有部分列是空的,列的类型为object格式,列中单元格存的是string格式

需求:把空的列(object)转化成浮点类型(float)

方法:

# 找到列名,转化为列表
col = list(data.columns)

# 把所有列的类型都转化为数值型,出错的地方填入NaN,再把NaN的地方补0
data[col] = data[col].apply(pd.to_numeric, errors='coerce').fillna(0.0)
# 至此,object的列(列中存储的是string类型)转成了float

# 最后一步,把所有列都转化成float类型,done!
data = pd.DataFrame(data, dtype='float')

转化成float后,可以实现数据的筛选了!全部数据3900万减至3600万!

注意:以上方法简单粗暴,将所有的列全部转化为float类型,会导致日期、车辆号码的丢失。

建议修改成如下,仅对某些列进行转化float类型。缺点是对大数据耗时较长(15min)

data['lng'] = data['lng'].apply(pd.to_numeric, errors='coerce').fillna(0.0)
data['lat'] = data['lat'].apply(pd.to_numeric, errors='coerce').fillna(0.0)

文章来源:https://www.cnblogs.com/caiyiying/p/14746995.html

后台-系统设置-扩展变量-手机广告位-内容正文底部
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
本文地址:https://www.jcdi.cn/pythonjc/30742.html

留言与评论(共有 0 条评论)
   
验证码:
后台-系统设置-扩展变量-手机广告位-评论底部广告位

教程弟

https://www.jcdi.cn/

统计代码 | 京ICP1234567-2号

Powered By 教程弟 教程弟

使用手机软件扫描微信二维码