python-3.x - 如何在单个命令中将数据集中的所有“对象”值转换为浮点数或整数?
问题描述
我有一个包含 43 个属性的火车数据集。每个属性都有一些元组值作为对象(如在具有某些字符的字符串中)。现在,我正在尝试使用缩放器缩放值,但它给出了以下错误:
could not convert string to float: '?'
现在,我不知道如何在单个命令中将对象转换为 int 或 float 并为 43 个属性中的每一个一个一个地转换它有点乏味。
所以我想知道如何用一个命令来处理完整的数据集。
解决方案
我使用convert
尝试将字符串解析为浮点数的函数。
如果不能,它会尝试将其解析为 int,如果仍然不能,则分配值 0(您可以将默认值更改为字符串不是 int 或浮点数)
l = []
def convert(str):
x = 0
try:
x = int(str)
except:
try:
x = float(str)
except:
pass
l.append(x)
for i in ['1','2','3','?','4.5']:
convert(i)
print(l)
#[1, 2, 3, 0, 4.5]
推荐阅读
- r - 即使没有该间隙的记录,也要进行图表折线
- r - 可视化 iGraph 和标签对齐
- angular - 没有点的德语日期本地化?
- javascript - 具有multipleseries的Highcharts柱形图
- image-processing - 启用 OpenCL 后无法在 Magick++ 中使用 GPU
- wordpress - 使用 .htaccess 在 Wordpress 上隐藏 URL 参数
- c# - 正则表达式使用 C# 保留未知长度字符串的最后 4 个字符
- android - 如何在包内添加目录?
- javascript - 在打开之前从网站上的文件夹中加载所有图像
- sql-server - 将 DATEDIFF 结果插入表中的列?