【发布时间】:2014-01-16 04:01:28
【问题描述】:
我有这个每小时的 csv 数据按天按天排序数百天:
2011.05.16,00:00,1.40893
2011.05.16,01:00,1.40760
2011.05.16,02:00,1.40750
2011.05.16,03:00,1.40649
我想计算每小时设置每日最大值的次数,所以如果在 00:00 我的最大值为 2011.05.16 天,我将 1 添加到 00:00 和以此类推。 为此,我使用循环来计算小时数,例如索引:
def graph():
Date, Time, High = np.genfromtxt(myPath, delimiter=",",
unpack = True, converters={0:date_converter})
numList = [""] * 24
index=0
hour=0
count = [0] * 24
for eachHour in Time:
numList[hour] += str(High[index])
index += 1
hour +=1
if hour == 24:
higher = (numList.index(max(numList)))
count[higher] += 1
hour = 0
numList = [""] * 24
问题是,在我的数据中,通常会出现一些小时缺失的间隙,但循环无法识别它并继续将值放入下一小时索引中。我到处搜索,但我是编程新手,这是我的第一个“复杂”工作,所以我需要更具体的答案来了解我的案例是如何工作的。 那么如何按照解释的方式计算每小时频率? 最终结果应该是这样的:
00:00 n time max of the day
01:00 n time max of the day
02:00 n time max of the day
etc
【问题讨论】:
-
您已将
pandas添加为标签,但您似乎并未使用它。基于pandas的解决方案是否可以接受? -
当然可以接受任何解决方案。
-
“当日最高值”是指“当天曾经的最高值,即每日最高值”,还是“一个新的已设置最大值”?
-
哇!对不起,伙计们,我没想到会在这里有这么多参与 :) 我的意思是每日最大值,而不是有史以来的最高值。例如,每次一天的最高值在 15:00 时,在 15:00 时添加 1 个计数。现在我需要一些时间来检查所有这些答案,谢谢大家!