_safe_indexing#

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

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

警告

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

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

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

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

  • 如果 axis=1
    • 要选择单个列,indices 对于所有 X 类型可以是 int 类型,对于数据框则只能是 str。选择的子集将是一维的,除非 X 是稀疏矩阵,在这种情况下它将是二维的。

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

axis整数,默认值=0

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

返回
子集

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])