Numpy 索引问题..... 高级索引 X[0] 在这里做什么?

Numpy Indexing problem..... Advance indexing what is X[0] doing here?

import numpy as np

X = np.array([[0, 1, 0, 1], [1, 0, 1, 1], [0, 0, 0, 1], [1, 0, 1, 0]])

y = np.array([0, 1, 0, 1])

counts = {}

print(X[y == 0])

# prints = [[0 1 0 1]
# [0 0 0 1]]

我想知道为什么 X[y==0] 打印两个数据点。它不应该只打印 [0 1 0 1] 吗?

因为X[0]?

y == 0 给出与 y 具有相同维度的数组,其中元素 True 其中 y 中对应的元素是 0,并且 False 否则。

此处,y 在索引 02 处有 0 个元素。所以,X[y == 0] 给你一个包含 X[0]X[2] 的数组。