【发布时间】:2016-01-18 23:47:04
【问题描述】:
我有一个 numpy.ndarray(数据),它有 5 个元素,每个元素有 2042 行和两列。第一列包含日期(以 15 分钟为间隔),第二列包含温度。我正在编写一个脚本,可以找到 24 小时内的最高温度。我有一个工作脚本。
x1=0
y1=95
maxTblue=[]
for i in range(int(len(data[0])/96)+1):
#collect the max temp for 24-hr period
maxTblue.append(max(data[0][x1:y1,1]))
#add 96 to shift to the next 24-hr period
x1+=96
y1+=96
现在,我希望能够收集每 24 小时内出现最高温度的日期。我尝试了以下脚本,但它给了我错误的日期。日期应以 24 小时为单位增加,但当前脚本从第一个 24 小时期间返回日期。
maxdateBlue=[]
locblue=[]
x3=0
y3=95
for i in range(int(len(data[0])/96)+1):
#index for the max temp
locblue.append(np.where(data[0][x3:y3,1]==maxTblue[i]))
#date where the max temp occurs
maxdateBlue.append(data[0][locblue[i],0])
x3+=96
y3+=96
如何正确使用 np.where,或者如何使用另一个索引命令来找出我的最高温度何时出现?
【问题讨论】: