如何获得向量。使用 argmax 从 2D numpy 数组?
How to get a vector. from 2D numpy array using argmax?
我有以下 numpy.ndarray
:
testArr:
array([[ 2.55053788e-01, 6.25406146e-01, 1.19271643e-01,
2.68359261e-04],
[ 2.59611636e-01, 0.19562805e-01, 1.20518960e-01,
3.06535745e-01],
[ 8.52524495e-01, 5.24317825e-01, 1.22851081e-01,
3.06610862e-04],
[ 2.55068243e-01, 6.24345124e-01, 1.20263465e-01,
3.23178538e-04],
[ 2.46678621e-01, 6.29301071e-01, 1.23693809e-01,
3.26490292e-04]], dtype=float32)
如果我这样做 testVec = np.argmax(testArr)
,我会得到一个号码。如何根据二维数组每行中的最大值获得 0、1 或 2 的向量 testArr
?
预期输出:
[1, 3, 0, 1, 1]
如果您看一下 documentation
,您会看到有一个 axis
参数,它允许您选择要沿哪个轴执行操作。来自文档:
Returns the indices of the maximum values along an axis.
在这种情况下,您需要:
np.argmax(a, axis=1)
# array([1, 3, 0, 1, 1], dtype=int64)
默认情况下,np.argmax 为您提供展平数组中最大值的索引。要获取单个维度的最大值(例如,每行中的最大值),您必须指定关键字参数 axis
。这必须是一个整数:0 表示列,1 表示行。 (或者如果您的数组有 n 维,则为最大 n-1 的任何整数。)
import numpy as np
testArr = np.array([[ 2.55053788e-01, 6.25406146e-01, 1.19271643e-01,
2.68359261e-04],
[ 2.59611636e-01, 0.19562805e-01, 1.20518960e-01,
3.06535745e-01],
[ 8.52524495e-01, 5.24317825e-01, 1.22851081e-01,
3.06610862e-04],
[ 2.55068243e-01, 6.24345124e-01, 1.20263465e-01,
3.23178538e-04],
[ 2.46678621e-01, 6.29301071e-01, 1.23693809e-01,
3.26490292e-04]], dtype=np.float32)
np.argmax(testArr, axis=1)
>>> array([1, 3, 0, 1, 1])
我有以下 numpy.ndarray
:
testArr:
array([[ 2.55053788e-01, 6.25406146e-01, 1.19271643e-01,
2.68359261e-04],
[ 2.59611636e-01, 0.19562805e-01, 1.20518960e-01,
3.06535745e-01],
[ 8.52524495e-01, 5.24317825e-01, 1.22851081e-01,
3.06610862e-04],
[ 2.55068243e-01, 6.24345124e-01, 1.20263465e-01,
3.23178538e-04],
[ 2.46678621e-01, 6.29301071e-01, 1.23693809e-01,
3.26490292e-04]], dtype=float32)
如果我这样做 testVec = np.argmax(testArr)
,我会得到一个号码。如何根据二维数组每行中的最大值获得 0、1 或 2 的向量 testArr
?
预期输出:
[1, 3, 0, 1, 1]
如果您看一下 documentation
,您会看到有一个 axis
参数,它允许您选择要沿哪个轴执行操作。来自文档:
Returns the indices of the maximum values along an axis.
在这种情况下,您需要:
np.argmax(a, axis=1)
# array([1, 3, 0, 1, 1], dtype=int64)
默认情况下,np.argmax 为您提供展平数组中最大值的索引。要获取单个维度的最大值(例如,每行中的最大值),您必须指定关键字参数 axis
。这必须是一个整数:0 表示列,1 表示行。 (或者如果您的数组有 n 维,则为最大 n-1 的任何整数。)
import numpy as np
testArr = np.array([[ 2.55053788e-01, 6.25406146e-01, 1.19271643e-01,
2.68359261e-04],
[ 2.59611636e-01, 0.19562805e-01, 1.20518960e-01,
3.06535745e-01],
[ 8.52524495e-01, 5.24317825e-01, 1.22851081e-01,
3.06610862e-04],
[ 2.55068243e-01, 6.24345124e-01, 1.20263465e-01,
3.23178538e-04],
[ 2.46678621e-01, 6.29301071e-01, 1.23693809e-01,
3.26490292e-04]], dtype=np.float32)
np.argmax(testArr, axis=1)
>>> array([1, 3, 0, 1, 1])