【发布时间】:2013-10-13 05:11:39
【问题描述】:
我有一个程序可以处理日志文件以将其缩小到两个项目。该程序运行良好,只是有时它会使两个数字倒退。例如,它最终得到的两个数字应该是 [1700, 1650],而不是 [1650, 1700]。如何确保值较高的数字列在第一位 [0],而较低的数字列在第二位 [1]?
import pylab
from pylab import *
from numpy import *
from collections import Counter
list_of_files=[('logfile.txt', 'Temp')]
datalist = [( pylab.loadtxt(filename), label ) for filename, label in list_of_files]
for data, label in datalist:
pylab.plot( data[:,0], data[:,1], label=label )
print data [:,1]
Temps = [k for k,v in Counter(data[:,1]).items() if v>1 and 1500<=k<2200]
print Temps
print ("Test="), 0.555*(Temps[0]-32)+.651*(Temps[1]-32)
【问题讨论】:
-
Temps.sort() 后跟 Temps.reverse() ?
-
脚本的复杂性与问题的简单性之间的差距令人震惊
-
仅供参考,如果您使用
pylab.plot和pylab.loadtext等,则不需要from pylab import *或from numpy import *。只需import pylab就足够了。使用*,这意味着您可以输入plot(不用先说pylab.),但我推荐第一个选项。 See here
标签: python collections numpy counter