项目场景:

利用sklearn库构建决策树,使用sklearn.tree.DecisionTreeClassifier()提供的方法----fit()决策树可视化的时候,我们看到程序报错了


问题描述

ValueError: could not convert string to float: ‘young’.


原因分析:

因为在fit()函数不能接收string类型的数据,通过打印的信息可以看到,数据都是string类型的。在使用fit()函数之前,我们需要对数据集进行编码,这里可以使用两种方法:

  1. LabelEncoder:将字符串转换为增量值
  2. OneHotEncoder:使用One-of-K算法将字符串转换为整数

解决方案:

为了对string类型的数据序列化,需要先生成pandas数据,这样方便我们的序列化工作
原始数据->字典->pandas数据,编写代码如下:

    # -------------------------------原始数据->字典->pandas----------------------------------lenses_target = []  # 提取每组数据的类别,保存在列表里for each in lenses:lenses_target.append(each[-1])lensesLabels = ['age', 'prescript', 'astigmatic', 'tearRate']  # 特征标签lenses_list = []  # 保存lenses数据的临时列表lenses_dict = {}  # 保存lenses数据的字典,用于生成pandasfor each_label in lensesLabels:  # 提取信息,生成字典for each in lenses:lenses_list.append(each[lensesLabels.index(each_label)])lenses_dict[each_label] = lenses_listlenses_list = []print(lenses_dict)  # 打印字典信息lenses_pd = pd.DataFrame(lenses_dict)  # 生成pandas.DataFrameprint(lenses_pd)    # 打印pandas.DataFrame# ---------------------------------------序列化---------------------------------le = LabelEncoder()  # 创建LabelEncoder()对象,用于序列化for col in lenses_pd.columns:  # 为每一列序列化lenses_pd[col] = le.fit_transform(lenses_pd[col])print(lenses_pd)

总结

至此 我们就已经将对string类型的数据序列化了

【ValueError: could not convert string to float: ‘young‘】python利用pandas对string类型的数据序列化相关推荐

  1. python string库_《python标准库》--string

    作用:包含处理文本的常量和类. 1.capwords():将一个字符串中所有单词的首字母大写. 1 >>> importstring2 >>> s = 'The q ...

  2. pandas将dataframe原有的数据列名称转化为整数数值列名称(convert dataframe column labelsl into integers)

    pandas将dataframe原有的数据列名称转化为整数数值列名称(convert dataframe column labelsl into integers) 目录 pandas将datafra ...

  3. 成功解决ValueError: could not convert string to float: ‘\\N‘

    成功解决ValueError: could not convert string to float: '\\N' 目录 解决问题 解决思路 解决方法 解决问题 ValueError: could no ...

  4. Python ValueError: could not convert string to float: ‘-‘ 解决办法

    写主成分分析程序时,遇到 ValueError: could not convert string to float: '105001 2512.6143 11857.8736' 的问题 此时我的程序 ...

  5. python readline读文件,并且将其转化为数字形式时:ValueError: could not convert string to float:

    记死这个float 错误描述: 将csv文件中的数据预处理之后,写入txt文本中,再从文本中读取数据进行处理时报错:python readline读文件,并且将其转化为数字形式时:ValueError ...

  6. ValueError: could not convert string to float:

    用python读取excel的列数据时报错ValueError: could not convert string to float: ,意思是有取到一个空字符,无法转换,这才想起来我的excel里确 ...

  7. 错误日志:ValueError: could not convert string to float: '锘181'

    错误日志:ValueError: could not convert string to float: '锘181' 在用ADvancedEAST训练自己的模型时,遇到这个错误,很奇怪. 目前尝试的方 ...

  8. 【python debug】could not convert string to float: ‘File‘ got an unexpected keyword argument

    python debug过程中碰到的问题随手记录 报错1:ValueError: could not convert string to float: 'File' 在网上没有搜到直接匹配的答案 分析 ...

  9. model.fit()模型编译时报错:ValueError: Failed to convert a NumPy array to a Tensor (Unsupported object type

    model.fit()模型编译时报错:ValueError: Failed to convert a NumPy array to a Tensor (Unsupported object type ...

最新文章

  1. Linux Shell 只列出目录的方法
  2. 云大计算机基础,2019云南大学计算机技术专硕上岸经验
  3. ImageView 缩放
  4. android中获取时间
  5. Docker学习总结(68)—— Docker 数据卷相关知识总结
  6. LeetCode8. 字符串转换整数 (atoi)
  7. 关于servlet中出现GET方法不能应用于此url的解决办法
  8. android 布局圆变椭圆,Android实现自定义圆形、圆角和椭圆ImageView(使用Xfermode图形渲染方法)...
  9. 【编程之美】java二进制实现重建
  10. 8.声卡驱动02-自己实现alsa驱动-虚拟声卡-匹配
  11. 小白spss学习笔记(一)
  12. 2017年区块链技术与加密货币市场:回顾与展望
  13. 2021-11-15求积分面积和旋转体积的二重积分方法
  14. DB2 windows下9.5安装教程
  15. 今日份PS练习|玻璃材质背景练习
  16. python正态分布拟合_用python拟合正态分布(已开源)
  17. IT自学网有视频教程
  18. 给网页添加背景图片1
  19. 学生党必备读书笔记app推荐
  20. ip_forward参数对Linux内核转发影响分析

热门文章

  1. App设计的基本原则和规范
  2. 岁月划过生命线(2016 年终总结 -季度之星)
  3. zabbix3.4绘制网络拓扑图
  4. 粉末成型工艺(粉末冶金粉末注射成型)
  5. windows下mysql免安装配置
  6. Monash call (莫纳什来电) -开篇
  7. 胆的功能--中医谈胆的作用
  8. 不为人知的黑科技||双十一薅羊毛正确姿势
  9. CVP0.M24、CVP0.M28、CVZ0.S08插装式单向阀
  10. 水面反光如何拍摄_拍摄水景的技巧方法