安全索引#

sklearn.utils._safe_indexing(X, indices, *, axis=0)[source]#

使用索引返回X的行、项或列。

警告

此实用程序已记录,但为**私有**的。这意味着向后兼容性可能会在没有任何弃用周期的情况下被破坏。

参数:
X类数组、稀疏矩阵、列表、pandas.DataFrame、pandas.Series

从中采样行、项或列的数据。list仅在axis=0时受支持。

indices布尔值、整数、字符串、切片、类数组
  • 如果 axis=0,则支持布尔型和整型数组、整数切片和标量整数。

  • 如果 axis=1
    • 要选择单个列,对于所有 X 类型,indices 可以是 int 类型;而对于数据框 (dataframe),则只能是 str 类型。除非 X 是稀疏矩阵,否则选择的子集将是一维的;如果是稀疏矩阵,则为二维。

    • 要选择多个列,indices 可以是以下类型之一:listarrayslice。这些容器中使用的类型可以是以下类型之一:int、'bool' 和 str。但是,只有当 X 是数据框时才支持 str。选择的子集将是二维的。

axisint,默认为 0

X 进行子采样的轴。axis=0 将选择行,而 axis=1 将选择列。

返回:
subset

X 在轴 0 或 1 上的子集。

备注

支持 CSR、CSC 和 LIL 稀疏矩阵。不支持 COO 稀疏矩阵。

示例

>>> import numpy as np
>>> from sklearn.utils import _safe_indexing
>>> data = np.array([[1, 2], [3, 4], [5, 6]])
>>> _safe_indexing(data, 0, axis=0)  # select the first row
array([1, 2])
>>> _safe_indexing(data, 0, axis=1)  # select the first column
array([1, 3, 5])