Python 基于特定行的内容从数组中删除列

Python 基于特定行的内容从数组中删除列,python,numpy,Python,Numpy,我有这个阵列: >>> arr = np.array([[12,1,2,14],[75,10,100,53]]) array([[ 12, 1, 2, 14], [ 75, 10, 100, 53]]) 我想清理我的数据。例如,我只想保留给定行大于x的列 对于行0和x=1,预期输出为: array([[ 12, 2, 14], [ 75, 100, 53]]) 对于行1和x=60,将是输出 array([[ 12,

我有这个阵列:

>>> arr = np.array([[12,1,2,14],[75,10,100,53]])
array([[  12,  1,   2,   14],
       [  75,  10, 100,  53]])
我想清理我的数据。例如,我只想保留给定行大于x的列

对于行
0
x=1
,预期输出为:

array([[  12,   2,  14],
       [  75, 100,  53]])
对于行
1
x=60
,将是输出

array([[  12,   2],
       [  75, 100]])

矢量化的方法是什么?

您可以使用遮罩。对于第一种情况:

mask = arr[0] > x1
result = arr[:, mask]
对于第二种情况:

mask = arr[1] > x2
result = arr[:, mask]
两种情况都可以是一行程序:

arr[:, arr[0] > x1]


我认为第一行代码中有一个输入错误。应该是:
arr=np.array([12,1,2,14],[75,10100,53])
?感谢您的关注。我刚刚改正了;)
arr[:, arr[1] > x2]