【发布时间】:2019-09-15 10:51:41
【问题描述】:
我正在读取两个 files.txt ,每个都有大约 50,000 行,我将数据保存在某个列表中并尝试稍后绘制,但绘图未加载。
这是我的代码
xeqt = []
yeqt = []
xv = []
yv = []
with open('graficoEQT.txt') as f:
for i in f:
i = i.strip()
x,y = i.split(" ")
xeqt.append(round(float(x),3))
yeqt.append(y)
with open('ErroValidacao1.txt') as f:
for i in f:
i = i.strip()
x,y = i.split(" ")
xv.append(round(float(x),3))
yv.append(y)
plt.plot(yeqt, xeqt, color = 'blue')
plt.plot(yv, xv, color='red')
plt.show()
为什么要花这么长时间?我该如何解决这个问题?
PS:这不是重复的,因为我的问题是关于我的情节所花费的时间,而不是因为情节是错误的。
【问题讨论】:
-
这是因为您正在逐行读取文件。尝试使用,例如
numpy.loadtxt,或pandas.read_csv(sep='\s');此外,您可以稀疏化您的数组,例如yv = numpy.array(yv)[::3],xv = numpy.array(xv)[::3]. -
谢谢,我用 pandas 阅读,它的工作。
-
@LarissaTeixeira:如果您注释掉绘图线,我们的代码是否仍然需要类似的时间?如果是,那么读取文件是罪魁祸首。在这种情况下,请尝试使用我的答案
loadtxt,如果您能加快速度,请告诉我 -
@Sheldore 我评论了情节线并且阅读文件非常快。但是当我尝试绘制时,它不起作用。我用熊猫阅读了文件,它可以工作。我无法解释为什么。
标签: python matplotlib plot