gpt4 book ai didi

python-3.x - Numpy 在随机二维或一维数组中计算 Min Max

转载 作者:行者123 更新时间:2023-12-04 09:15:12 25 4
gpt4 key购买 nike

我试图在每一行中获得 Min 或 Max 值的总和。如果第一个索引上的数字大于 12,则返回该行中的最大数,否则返回该行中的最小数。请注意,在下面给出的示例中,它是一个 4 x 3 2D 数组。但是,我希望我的代码能够在给定任何数组大小或形状的情况下工作。

import numpy as np

arr = np.array([[11, 12, 13],
[14, 15, 16],
[17, 15, 11],
[12, 14, 15]])

i_max = np.amax(arr,axis=1)
i_min = np.amin(arr,axis=1)
print(i_max)
print(i_min)
到目前为止,我只能使用 amax 获得每行中的最小或最大数字。和 amin .我缺少的是访问每一行中的第一个值并使用 if else 语句将大小与 12 进行比较。任何人都可以给出提示。
给定样本的正确输出应该是 11 + 16 + 17 + 12 = 56

最佳答案

np.where 包含 3 个输入 .
第一个是您的 条件 [错,对,对错……]
第二个第三个 输入,是可能的值。
因此,如果条件为 True,则 grep 第二个输入的值
否则,取第三个输入的值。

np.where(arr[:,0] > 12, np.max(arr, axis=1), np.min(arr, axis=1))
返回: array([11, 16, 17, 12])如果您需要总和,只需添加总和 :) :
np.where(arr[:,0] > 12, np.max(arr, axis=1), np.min(arr, axis=1)).sum()
返回: 56另一种表示它的方式是: [xv if c else yv for c, xv, yv in zip(condition, x, y)]或者只是阅读文档: https://numpy.org/doc/stable/reference/generated/numpy.where.html :)

关于python-3.x - Numpy 在随机二维或一维数组中计算 Min Max,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63255891/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com