当前位置:   article > 正文

pandas ValueError: could not convert string to float: (dataframe string 转 float)(object 转 float)_pandas dataframe(data,columns=['site','age'],dtype

pandas dataframe(data,columns=['site','age'],dtype='float') could not conver

搞了一下午,终于把字符串转化成了数值

灵感来源:在Pandas中更改列的数据类型【方法总结】 - 纯净天空

顺便提一下,Google搜索就是比baidu有效率!

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

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

方法:

  1. # 读取文件
  2. data = pd.read_csv("./data/data.csv", encoding='utf-8')
  3. # 我的表格前两列信息没有用,丢掉
  4. data = data.ix[:, 2:]
  5. # 找到列名,转化为列表
  6. col = list(data.columns)
  7. # 把所有列的类型都转化为数值型,出错的地方填入NaN,再把NaN的地方补0
  8. data[col] = data[col].apply(pd.to_numeric, errors='coerce').fillna(0.0)
  9. # 至此,object的列(列中存储的是string类型)转成了float
  10. # 最后一步,把所有列都转化成float类型,done!
  11. data = pd.DataFrame(data, dtype='float')

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/940031
推荐阅读
相关标签
  

闽ICP备14008679号