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的地方补0data[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
图文来源于网络,如有侵权请联系删除。