0

我需要制作一个脚本,它从 .csv 文件的 2 列中获取 2 列数据,然后根据这些数据绘制图表。我设法从这样的列表中导出数据(实际上有 140 个数字,但你明白了):

['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。我可以成功地将其转换为长字符串,但找不到将其转换为浮点数组的方法。感谢你的帮助。

4

1 回答 1

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]
于 2012-09-07T08:23:25.403 回答