gpt4 book ai didi

python - 如果列中的第一个值大于最后一个值,Numpy 删除数组中的列

转载 作者:行者123 更新时间:2023-11-30 23:01:11 26 4
gpt4 key购买 nike

如果该列中的第一个值大于最后一个值,从 NumPy 数组中删除列的有效方法是什么。假设我有 b:

>>> import numpy as np 
>>> b = np.arange(9).reshape(3,3)
>>> b[0,0] = 9

>>> b
array([[9, 1, 2],
[3, 4, 5],
[6, 7, 8]])

由于 b[0,0] > b[-1,0],您希望删除第一列并有效地留下:

array([[1, 2],
[4, 5],
[7, 8]])

什么是有效的方法来做到这一点?我见过它是用行完成的,符号如下:

b[np.logical_not(np.logical_and(b[:,0] > 20, b[:,0] < 25))]

但不适用于列。另外,如果可以避免转置,那肯定会更好,因为我想在大型数据集上使用它。

最佳答案

只需使用逻辑索引:

new_b = b[:, b[0,:]<=b[-1,:]]

关于python - 如果列中的第一个值大于最后一个值,Numpy 删除数组中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34974055/

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