【发布时间】:2017-06-18 22:00:10
【问题描述】:
我一直使用 .cvs 文件从数据中生成直方图。它有类似这样的数据
102.919 103.36
102.602 103.05
104.106 104.57
108.791 109.26
104.045 104.52
104.324 104.77
105.106 105.57
102.619 103.08
102.124 102.6
这是我写的代码
# histplot.py
import numpy as np
import matplotlib.pyplot as plt
import csv
with open('datafile.csv', 'rU') as data:
reader = csv.DictReader(data, delimiter=' ', quoting=csv.QUOTE_NONNUMERIC)
for line in reader:
t = float(line)
data.append(t)
reader.close()
# generate the histogram
hist, bin_edges=np.histogram(data, bins=50, range=[80,135])
# generate histogram figure
plt.hist(data, bin_edges)
plt.savefig('chart_file', format="pdf")
plt.show()
运行此代码给我一个错误 ValueError: could not convert string to float: '102.919,103.36' 有人可以帮我提供一些关于使用 csv 文件将字符串转换为浮点数的想法。 先感谢您。
【问题讨论】:
标签: python csv numpy matplotlib python-3.5