gpt4 book ai didi

python - Numpy根据条件选择行

转载 作者:行者123 更新时间:2023-12-03 15:30:52 28 4
gpt4 key购买 nike

我正在尝试使用 numpy 从二维数组中删除行,其中行的第一个值(因此索引 0 处的元素)与某个条件不匹配。

我可以使用两个循环使用常规 python 来做到这一点,但我想用 numpy 更有效地做到这一点,例如与 numpy.where
我一直在用 numpy.where 尝试各种方法和 numpy.delete但是我想通过使用只需要由第一个元素验证而不是第二个元素验证的条件来选择行(我不关心第二个元素的值)

这是一个示例,我只想保留每行的第一个值为 6 的行。

输入:

[[0,4],
[0,5],
[3,5],
[6,8],
[9,1],
[6,1]]

输出:
[[6,8],
[6,1]]

最佳答案

使用 bool 掩码:

mask = z[:, 0] == 6
z[mask, :]

这比 np.where 高效得多因为您可以直接使用 bool 掩码,而无需先将其转换为索引数组的开销。

一个类轮:
z[z[:,0]==6, :]

关于python - Numpy根据条件选择行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58079075/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com