weixin_39017744
2019-11-10 17:16
采纳率: 71.1%
浏览 4.8k

请问如何将python中dataframe里的string全部转化为float?

用pandas读取csv后,做聚类的时候报错如下:could not convert string to float: 'CWT'。把csv里面的这个全都替换掉之后就会显示新别的string无法转换。请问如何一次全都转换成float?

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • bj_0163_bj 2019-11-10 23:20
    已采纳

    使用df.astype()强制类型转换,df['col']=df['col'].astype('float')

    已采纳该答案
    评论
    解决 5 无用
    打赏 举报
  • threenewbee 2019-11-10 20:38

    你的dataframe里面都是什么内容,是不是有CWT这种文本,而不是全数字,你可以用
    import re
    for i in range(0, len(df))
    if re.match(r"(-){0,1}\d+(.\d+){0,1}", df[i][字段],0):
    df[i][字段] = float(df[i][字段] )
    else
    df[i][字段] = 默认值

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题