我需要创建一个脚本,该脚本从2列.csv文件中获取2列数据,然后根据此数据绘制图形。我设法从列中导出数据作为这样的列表(实际上有140个nubmers,但你明白了):
['0', '0,1', '0,2', '0,3', '0,4', '0,5', '0,6', '0,7', '0,8000001', '0,9000001', '1', '1,1', '1,2']
问题是,当我尝试使用此数据进行绘图时,matplotlib会给出错误,因为它不是浮点数。我无法将此数据转换为浮点数,因为数字用逗号分隔,而不是点。那么,我如何用点替换所有这些逗号,或者还有其他更简单的解决方案呢?我是Python的新手。
更新:我的错误,我导出数据的格式不是列表,而是DICT。我可以成功地将它转换为长字符串,但无法找到将其转换为浮点数组的方法。谢谢你的帮助。
答案 0 :(得分:5)
n = ['0', '0,1', '0,2', '0,3', '0,4', '0,5', '0,6', '0,7',
'0,8000001', '0,9000001', '1', '1,1', '1,2']
[float(m.replace(",", ".")) for m in n]
# => [0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7,
# 0.8000001, 0.9000001, 1.0, 1.1, 1.2]