_safe_indexing#

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

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

警告

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

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

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

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

  • 如果 axis=1
    • 要选择单列,对于所有 X 类型,indices 可以是 int 类型,对于 dataframe,只能是 str 类型。所选子集将是 1D,除非 X 是稀疏矩阵,在这种情况下将是 2D。

    • 要选择多列,indices 可以是以下之一:listarrayslice。这些容器中使用的类型可以是以下之一:int、‘bool’ 和 str。但是,当 X 是 dataframe 时,才支持 str。所选子集将是 2D。

axisint, default=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])