Python 将numpy分类数据映射到numpy向量

Python 将numpy分类数据映射到numpy向量,python,numpy,Python,Numpy,我有一个numpy阵列,看起来像: my_arr = array([[0., 0., 0., 0., 1., 0.], [0., 1., 0., 0., 0., 0.], [0., 0., 0., 1., 0., 0.], [0., 0., 0., 0., 1., 0.], [1., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 1., 0.], [0., 1., 0., 0., 0., 0.], [0., 0., 0.,

我有一个numpy阵列,看起来像:

my_arr = array([[0., 0., 0., 0., 1., 0.],
   [0., 1., 0., 0., 0., 0.],
   [0., 0., 0., 1., 0., 0.],
   [0., 0., 0., 0., 1., 0.],
   [1., 0., 0., 0., 0., 0.],
   [0., 0., 0., 0., 1., 0.],
   [0., 1., 0., 0., 0., 0.],
   [0., 0., 0., 0., 1., 0.],
   ...
   ...]
我想返回一个向量,该向量将包含我的每个向量的值为1的条目索引。我怎么能这样做呢?

你用它

inds = np.argmax(my_arr, axis=1)
# array([4, 1, 3, 4, 0, 4, 1, 4])
你用这个

inds = np.argmax(my_arr, axis=1)
# array([4, 1, 3, 4, 0, 4, 1, 4])
np.where(my_arr)[1]

查看文档:

np.where(my_arr)[1]

查看文档:

可用于返回坐标数组:

arr = np.random.randint(0, 2, (5, 5))

print(arr)

[[0 0 1 1 1]
 [0 1 0 1 1]
 [1 1 0 0 1]
 [1 1 1 0 0]
 [1 1 1 1 0]]

res = np.argwhere(arr)

print(res)

array([[0, 2], [0, 3], ..., [4, 2], [4, 3]], dtype=int64)
可以使用返回坐标数组:

arr = np.random.randint(0, 2, (5, 5))

print(arr)

[[0 0 1 1 1]
 [0 1 0 1 1]
 [1 1 0 0 1]
 [1 1 1 0 0]
 [1 1 1 1 0]]

res = np.argwhere(arr)

print(res)

array([[0, 2], [0, 3], ..., [4, 2], [4, 3]], dtype=int64)