安全索引#
- 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
可以是以下类型之一:list
、array
、slice
。这些容器中使用的类型可以是以下类型之一: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])