【ValueError: could not convert string to float: ‘young‘】python利用pandas对string类型的数据序列化
项目场景:
利用sklearn库构建决策树,使用sklearn.tree.DecisionTreeClassifier()提供的方法----fit()决策树可视化的时候,我们看到程序报错了
问题描述
ValueError: could not convert string to float: ‘young’.
原因分析:
因为在fit()函数不能接收string类型的数据,通过打印的信息可以看到,数据都是string类型的。在使用fit()函数之前,我们需要对数据集进行编码,这里可以使用两种方法:
- LabelEncoder:将字符串转换为增量值
- 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类型的数据序列化相关推荐
- python string库_《python标准库》--string
作用:包含处理文本的常量和类. 1.capwords():将一个字符串中所有单词的首字母大写. 1 >>> importstring2 >>> s = 'The q ...
- pandas将dataframe原有的数据列名称转化为整数数值列名称(convert dataframe column labelsl into integers)
pandas将dataframe原有的数据列名称转化为整数数值列名称(convert dataframe column labelsl into integers) 目录 pandas将datafra ...
- 成功解决ValueError: could not convert string to float: ‘\\N‘
成功解决ValueError: could not convert string to float: '\\N' 目录 解决问题 解决思路 解决方法 解决问题 ValueError: could no ...
- Python ValueError: could not convert string to float: ‘-‘ 解决办法
写主成分分析程序时,遇到 ValueError: could not convert string to float: '105001 2512.6143 11857.8736' 的问题 此时我的程序 ...
- python readline读文件,并且将其转化为数字形式时:ValueError: could not convert string to float:
记死这个float 错误描述: 将csv文件中的数据预处理之后,写入txt文本中,再从文本中读取数据进行处理时报错:python readline读文件,并且将其转化为数字形式时:ValueError ...
- ValueError: could not convert string to float:
用python读取excel的列数据时报错ValueError: could not convert string to float: ,意思是有取到一个空字符,无法转换,这才想起来我的excel里确 ...
- 错误日志:ValueError: could not convert string to float: '锘181'
错误日志:ValueError: could not convert string to float: '锘181' 在用ADvancedEAST训练自己的模型时,遇到这个错误,很奇怪. 目前尝试的方 ...
- 【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' 在网上没有搜到直接匹配的答案 分析 ...
- 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 ...
最新文章
- Linux Shell 只列出目录的方法
- 云大计算机基础,2019云南大学计算机技术专硕上岸经验
- ImageView 缩放
- android中获取时间
- Docker学习总结(68)—— Docker 数据卷相关知识总结
- LeetCode8. 字符串转换整数 (atoi)
- 关于servlet中出现GET方法不能应用于此url的解决办法
- android 布局圆变椭圆,Android实现自定义圆形、圆角和椭圆ImageView(使用Xfermode图形渲染方法)...
- 【编程之美】java二进制实现重建
- 8.声卡驱动02-自己实现alsa驱动-虚拟声卡-匹配
- 小白spss学习笔记(一)
- 2017年区块链技术与加密货币市场:回顾与展望
- 2021-11-15求积分面积和旋转体积的二重积分方法
- DB2 windows下9.5安装教程
- 今日份PS练习|玻璃材质背景练习
- python正态分布拟合_用python拟合正态分布(已开源)
- IT自学网有视频教程
- 给网页添加背景图片1
- 学生党必备读书笔记app推荐
- ip_forward参数对Linux内核转发影响分析