我有这个问题,我在numpy中有2个3D arrys,我从中获取字段/值,然后找到每个3D ararys的最大值,当我知道这个数组时我现在想要找到这个2 numpy的最小值数组,但它没有任何感觉enymore和我没有得到我想要的看到我的代码
np_array = np.array([ [ [
1, 150, 300, 575, 400
], [
2, 150, 145, 300, 289
], [
4, 150, 275, 378, 421
], [
5, 150, 225, 351, 985
] ], [ [
1, 250, 400, 465, 342
], [
2, 250, 245, 355, 198
], [
4, 250, 375, 486, 267
], [
5, 250, 325, 458, 545
] ]
])
print(np_array)
pricegroup_id = np_array[...,[0]]
min_dkk = np_array[...,[1]]
min_procent = np_array[...,[2]]
min_max_value = np.maximum(min_dkk, min_procent)
max_dkk = np_array[...,[3]]
max_procent = np_array[...,[4]]
max_max_value = np.maximum(max_dkk, max_procent)
min_value = np.minimum(max_max_value[...,[0]], min_max_value[...,[0]])
输出:np_array(确定)
[[[ 1 150 300 575 400]
[ 2 150 145 300 289]
[ 4 150 275 378 421]
[ 5 150 225 351 985]]
[[ 1 250 400 465 342]
[ 2 250 245 355 198]
[ 4 250 375 486 267]
[ 5 250 325 458 545]]]
输出:min_dkk(确定)
[[[150]
[150]
[150]
[150]]
[[250]
[250]
[250]
[250]]]
输出:min_procent(确定)
[[[300]
[145]
[275]
[225]]
[[400]
[245]
[375]
[325]]]
输出:min_max_value(OK)
[[[300]
[150]
[275]
[225]]
[[400]
[250]
[375]
[325]]]
输出:max_dkk(确定)
[[[575]
[300]
[378]
[351]]
[[465]
[355]
[486]
[458]]]
输出:max_procent(确定)
[[[400]
[289]
[421]
[985]]
[[342]
[198]
[267]
[545]]]
输出:max_max_value(OK)
[[[575]
[300]
[421]
[985]]
[[465]
[355]
[486]
[545]]]
输出:pricegroup_id(确定)
[[[1]
[2]
[4]
[5]]
[[1]
[2]
[4]
[5]]]
输出:min_value(错误)
[[[300]
[150]
[275]
[225]]
[[400]
[250]
[375]
[325]]]
所以现在问题是我如何错误以及为什么它采取最小化。所有值,而不仅仅是我想要的数组级别?
我搜索的结果是:
[[[400]
[289]
[421]
[985]]
[[342]
[198]
[267]
[545]]]
答案 0 :(得分:0)
我不明白你为什么期待你说你的结果。您的代码完全按照您的要求执行,您期望的结果不包含任何输入值。
的最小值array([[[300],
[150],
[275],
[225]],
[[400],
[250],
[375],
[325]]])
和
array([[[575],
[300],
[421],
[985]],
[[465],
[355],
[486],
[545]]])
是
array([[[300],
[150],
[275],
[225]],
[[400],
[250],
[375],
[325]]])