_safe_indexing#

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

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

Warning

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

Parameters:
Xarray-like, sparse-matrix, list, pandas.DataFrame, pandas.Series

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

indicesbool, int, str, slice, array-like
  • 如果 axis=0 ,支持布尔和整数数组类、整数切片和标量整数。

  • 如果 axis=1
    • 要选择单个列, indices 可以是 int 类型用于所有 X 类型和仅用于数据帧的 str 。选择的子集将是1D,除非 X 是稀疏矩阵,在这种情况下它将是2D。

    • 要选择多列, indices 可以是以下之一: listarrayslice 。这些容器中使用的类型可以是以下之一: intboolstr 。然而,仅当 X 是数据帧时才支持 str 。选择的子集将是2D。

axisint, default=0

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

Returns:
subset

轴0或1上X的子集。

Notes

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

Examples

>>> 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)  # 选择第一行
array([1, 2])
>>> _safe_indexing(data, 0, axis=1)  # 选择第一列
array([1, 3, 5])