【发布时间】:2016-06-28 23:38:14
【问题描述】:
因此,我目前正在使用循环搜索我的 csv 数据以查找一组天的“高”和“低”值,然后计算每天的平均值。有了这些平均值,我想找到其中最高的一个,但我一直很难做到。这是我目前拥有的。
for row in reversed(list(reader1)):
openNAS, closeNAS = row['Open'], row['Close']
highNAS, lowNAS = row['High'], row['Low']
dateNAS = row['Date']
averageNAS = (float(highNAS) + float(lowNAS)) / 2
bestNAS = max(averageNAS)
我确实意识到 max(averageNAS) 不起作用,因为 averageNAS 不是一个列表,而且由于在 csv 文件中找不到平均值,所以我也不能使用 max(row['Average'])。
当找到最高平均值时,我还希望能够包含它的日期,以便我的程序可以打印出最高平均值发生的日期。提前致谢。
【问题讨论】:
-
我不确定我是否能满足您的所有要求,但您不会将
averageNAS放在list中,然后在for循环完成后在该列表中执行max? -
许多潜在的解决方案。保留一个变量
maxAVG,并在找到更高的变量时更新它,还保留一个变量bestNAS,并在找到平均更高的变量时将整个行分配给它超过最大值。 -
@tdelaney 你能写一个简单的代码示例吗?我现在在编码方面是一个真正的新手,我通过查看示例和解释为什么它有效或为什么无效来学习。