过滤 numpy 数组中的异常值

问题描述 投票:0回答:1

我需要从 numpy 数组的特定列中过滤掉具有异常值的行。

在论坛上我发现了这样一行

f_data = data[data[:,3]==1,:]

虽然它似乎有效,但我真的不明白如何也无法真正复制它。

如果有人能打破这条线并解释它,我将不胜感激。

python numpy numpy-ndarray
1个回答
-1
投票

此命令不会特别过滤异常值。如果第四列中的值为 1,它只选择二维数组(或 N>2 的 ND)中的行。

因此,除非当该行在您的数据集中中不是异常值时,此列是带有 1 的标志,否则该代码可能不适用于您。

例子:

data = np.array([[1, 1, 1, 1],
                 [1, 1, 1, 0],
                 [0, 1, 1, 1],
                 [0, 1, 0, 0],
                 [0, 0, 0, 1]])

# only keep the rows with 1 in the 4th column:
f_data = data[data[:,3]==1,:]
array([[1, 1, 1, 1],
       [0, 1, 1, 1],
       [0, 0, 0, 1]])
© www.soinside.com 2019 - 2024. All rights reserved.