我有一个如下形状的numpy数组
(categories, models, types, events, days) -> (2, 3, 4, 100, 14)
现在,我要计算maximum of 14 days of data per event for a particular category, model, and type
我正在这么做
np.max(data[0][0][0], axis=1)
例如,我还想计算每个类型和每个模型的最大值。你知道吗
我将通过将[0]
循环为[i]
来执行其中的几个操作。你知道吗
这是访问最外层阵列的正确方法吗?还有别的办法吗?你知道吗
np.max(data[0][0][0], axis=1)
array([ 3.9264417 , 3.3029506 , 3.0707457 , 3.6646023 , 1.7508441 ,
3.1634364 , 6.195052 , 1.5353022 , 1.8033538 , 1.4508389 ,
1.3882699 , 2.0849068 , 3.654939 , 6.6364765 , 3.92829 ,
6.6467876 , 1.5442419 , 4.639682 , 9.361191 , 5.261462 ,
1.7438816 , 5.6970205 , 2.4356377 , 1.6073244 , 2.6177561 ,
6.886767 , 3.890399 , 2.8880894 , 1.9826577 , 1.0888597 ,
4.3763924 , 3.8597727 , 1.790302 , 1.0277777 , 6.270729 ,
9.311213 , 2.318774 , 2.9298437 , 1.139397 , 0.9598383 ,
3.0489902 , 1.6736581 , 1.3983868 , 2.0979824 , 4.169757 ,
1.0739225 , 1.5311266 , 1.4676268 , 1.726325 , 1.8057758 ,
2.226462 , 2.6197987 , 4.49518 , 2.3042605 , 5.7164993 ,
1.182242 , 1.5107205 , 2.2920077 , 2.205539 , 1.4702082 ,
2.154468 , 2.0641963 , 4.9628353 , 1.9987459 , 2.1360166 ,
1.7073958 , 1.943267 , 7.5767093 , 1.3124634 , 2.2648168 ,
1.1504744 , 3.210688 , 2.6720855 , 2.998225 , 4.365262 ,
3.5410352 , 10.765423 , 4.6292825 , 3.1789696 , 0.92157686,
1.663245 , 1.5835482 , 3.1070056 , 1.6918416 , 8.086268 ,
3.7994847 , 2.4314868 , 1.6471033 , 1.1688241 , 1.7820593 ,
3.3509188 , 1.3092748 , 3.7915008 , 1.018912 , 3.2404447 ,
1.596657 , 2.0869658 , 2.6753283 , 2.1096318 , 8.786542 ],
dtype=float32)
还有
type(np.array(data)) = numpy.ndarray
type(data) = list
我把它转换成这些操作。你知道吗
你现在得到的是一个一维数组。您可以将数组重塑为二维,这样更容易访问列。要访问列的所有元素,请使用
:
。如果每列都有特定的含义(events、days等),还可以考虑将数据存储为字典,例如{'days':array([…]),'events':array([])}相关问题 更多 >
编程相关推荐