_safe_indexing#

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

使用索引回傳 X 的列、項目或欄。

警告

這個工具已經被記錄下來,但它是私有的。這表示可能會在沒有任何棄用週期下破壞向後相容性。

參數:
X類陣列、稀疏矩陣、列表、pandas.DataFrame、pandas.Series

從中取樣行、項目或列的資料。list 僅在 axis=0 時支援。

indicesbool、int、str、slice、類陣列
  • axis=0,則支援布林值和整數類陣列、整數切片以及純量整數。

  • axis=1
    • 要選擇單一列,對於所有 X 類型,indices 可以是 int 類型,而對於資料框,則只能是 str 類型。選取的子集將會是 1 維的,除非 X 是稀疏矩陣,在這種情況下會是 2 維的。

    • 要選擇多個列,indices 可以是下列其中一種:listarrayslice。這些容器中使用的類型可以是下列其中一種:int、'bool' 和 str。然而,str 僅在 X 為資料框時支援。選取的子集將會是 2 維的。

axisint,預設值=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])