numpy从2个最大3D数组中获取最小值

2024-10-02 00:25:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个问题,我在numpy中有两个3D数组,我从中取出字段/值,然后找到每个3D数组的最大值,当我知道这个数组时,我现在想找到这两个numpy数组中的最小值,但是它没有意义,我没有得到我想要的,请看下面的代码

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\ U数组(OK)

[[[  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(OK)

[[[150]
  [150]
  [150]
  [150]]

 [[250]
  [250]
  [250]
  [250]]]

输出:最小输出(正常)

[[[300]
  [145]
  [275]
  [225]]

 [[400]
  [245]
  [375]
  [325]]]

输出:最小值最大值(OK)

[[[300]
  [150]
  [275]
  [225]]

 [[400]
  [250]
  [375]
  [325]]]

输出:最大值(OK)

[[[575]
  [300]
  [378]
  [351]]

 [[465]
  [355]
  [486]
  [458]]]

输出:最大输出(正常)

[[[400]
  [289]
  [421]
  [985]]

 [[342]
  [198]
  [267]
  [545]]]

输出:最大值(OK)

[[[575]
  [300]
  [421]
  [985]]

 [[465]
  [355]
  [486]
  [545]]]

输出:pricegroup\u id(确定)

[[[1]
  [2]
  [4]
  [5]]

 [[1]
  [2]
  [4]
  [5]]]

输出:最小值(错误)

[[[300]
  [150]
  [275]
  [225]]

 [[400]
  [250]
  [375]
  [325]]]

所以现在的问题是我怎么会错,为什么它取所有值的最小值,而不仅仅是在我想要的数组级别?你知道吗

搜索结果如下:

[[[400]
  [289]
  [421]
  [985]]

 [[342]
  [198]
  [267]
  [545]]]

Tags: 代码numpyidvaluenpok数组min
1条回答
网友
1楼 · 发布于 2024-10-02 00:25:13

我不明白你为什么期待你所说的结果。您的代码完全按照您的要求执行,并且预期的结果不包含任何输入值。最小的

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]]])

相关问题 更多 >

    热门问题