Numpy计算随机2D或1D数组中的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 :)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Java 2D数组矩阵在行中找到MAX,在列中找到MIN

来自分类Dev

min max values 2D array javascript

来自分类Dev

在2D阵列中的行中找到MAX,在列中找到MIN

来自分类Dev

numpy:将索引的2D数组转换为1D数组以进行交集计算

来自分类Dev

使用Max / Jitter在2D中模拟重力

来自分类Dev

用1D numpy数组制作2D

来自分类Dev

从2D NumPy数组中查找1D数组?

来自分类Dev

在1d数组中填充2d数组

来自分类Dev

C ++数组中的Max

来自分类Dev

PHP - 从数组中获取 min() / max() 值

来自分类Dev

如何使用if条件在1D和2D numpy数组之间进行向量化计算

来自分类Dev

从2D numpy数组快速计算随机的3D numpy数组

来自分类Dev

我应该如何用numpy将3d数组中的1d数组乘以2d矩阵

来自分类Dev

随机放置1D字符串数组为2D char数组

来自分类Dev

从MIN到MAX排序

来自分类Dev

iOS Swift max(),min()

来自分类Dev

MIN MAX查询

来自分类Dev

Python max()与min()

来自分类Dev

Excel formula - min, max

来自分类Dev

Java Min Max方法

来自分类Dev

max() 和 min() 蟒蛇

来自分类Dev

优化 MIN & MAX 查询

来自分类Dev

VLOOKUP 结合 MIN 或 MAX

来自分类Dev

如何将numpy中的1D数组视为(1 x n)2D数组?

来自分类Dev

从numpy 1D数组列表创建numpy 2D数组

来自分类Dev

计算数组所有子数组中(min * max)的总和

来自分类Dev

有效的通用代码将Numpy中的2D或1D蒙版数组索引为1D数组

来自分类Dev

Python Numpy在带有2D数组的1D数组上相交1d

来自分类Dev

+ 1 / -1随机分布在2D数组中