我有两个数组X1X2.我想一步从这两个数组中找到最大值和最小值.但它遇到了一个错误.我给出了预期输出.

import numpy as np

X1 = np.array([[ 527.25      ],
       [2604.89634575],
       [ 946.77085166],
       [ 816.79051828],
       [1388.77873104],
       [4633.70349825],
       [1125.9493112 ],
       [1811.67700025],
       [ 718.19141262],
       [ 640.83306256],
       [ 578.51918766],
       [ 522.02970297]])   

X2 = np.array([[ 527.25      ],
       [2604.89634575],
       [ 941.87856824],
       [ 781.29465624],
       [1388.77873104],
       [4633.70349825],
       [1125.9493112 ],
       [1811.67700025],
       [ 319.09009796],
       [ 558.12142224],
       [ 484.73489944],
       [ 473.62756082]])  

Max=max(X1,X2)
Min=min(X1,X2)

错误是

in <module>
    Max=max(X1,X2)

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

预期输出为

array([4633.70349825])
array([319.09009796])

推荐答案

您可以使用np.ufunc.reduce和多轴来获得101 as you want.

(first find max on 100 from 101 , 102 then find max on 103 from result.)

np.maximum.reduce([X1, X2], axis=(1,0))
# array([4633.70349825])

np.minimum.reduce([X1, X2], axis=(1,0))
# array([319.09009796])

或者试试这个得到100:

>>> np.max((X1,X2))
4633.70349825

>>> np.min((X1,X2))
319.09009796

或者试试这个得到100:

>>> max(max(X1), max(X2))
array([4633.70349825])

>>> min(min(X1), min(X2))
array([319.09009796])

Python相关问答推荐

修剪Python框架中的尾随NaN值

Pandas数据帧处理Pandas表中Json内的嵌套列表以获取后续Numpy数组

取相框中一列的第二位数字

两极:如何分割一个大 pyramid 并并行保存每个

了解shuffle在NP.random.Generator.choice()中的作用

过载功能是否包含Support Int而不是Support Int?

Python plt.text中重叠,包adjust_text不起作用,如何修复?

LAB中的增强数组

在Python中对分层父/子列表进行排序

Pandas 滚动最接近的价值

如何在Windows上用Python提取名称中带有逗号的文件?

按顺序合并2个词典列表

如何获取TFIDF Transformer中的值?

两个pandas的平均值按元素的结果串接元素.为什么?

Django REST Framework:无法正确地将值注释到多对多模型,不断得到错误字段名称字段对模型无效'<><>

Asyncio:如何从子进程中读取stdout?

与命令行相比,相同的Python代码在Companyter Notebook中运行速度慢20倍

如何在达到end_time时自动将状态字段从1更改为0

ConversationalRetrivalChain引发键错误

关于两个表达式的区别