【发布时间】:2019-01-26 15:37:26
【问题描述】:
我想遍历 numpy 数组的维度子集并比较结果数组元素(它们是数组或剩余维度)。
下面的代码是这样做的:
import numpy
def min(h,m):
return h*60+m
exclude_times_default=[min(3,00),min(6,55)]
d=exclude_times_default
exclude_times_wkend=[min(3,00),min(9,00)]
w=exclude_times_wkend;
exclude_times=numpy.array([[[min(3,00),min(6,20)],d,d,d,d,d,[min(3,00),min(6,20)],d,d,[min(3,00),min(6,20)]],
[d,d,d,d,[min(3,00),min(9,30)],[min(3,00),min(9,30)],d,d,d,d],
[[min(20,00),min(7,15)],[min(3,00),min(23,15)],[min(3,00),min(7,15)],[min(3,00),min(7,15)],[min(3,00),min(23,15)],[min(3,00),min(23,15)],d,d,d,d]])
num_level=exclude_times.shape[0]
num_wind=exclude_times.shape[1]
for level in range(num_level):
for window in range(num_wind):
if (exclude_times[level,window,:]==d).all():
print("Default")
exclude_times[level][window]=w
print(level,window,exclude_times[level][window])
解决方案对我来说看起来不是很优雅,只是想知道是否有更优雅的解决方案。
【问题讨论】:
-
“默认”的打印重要吗?还是只是看到默认为周末?
-
你知道
exclude_times[level,window,:]和exclude_times[level][window]是同一个索引吗?