如何通过它的元素长度来清除numpy数组

时间:2014-07-09 14:31:25

标签: python numpy

我有一个二维numpy数组:

a=np.array([[1,2,3], 
            [4,5,6,7], 
            [2,3,4]])

如何在不知道其位置的情况下有效地删除包含3个以上元素(列)的元素(行)?

    a=np.array([[1,2,3], 
                [2,3,4]])

"删除所有超过3的行。"

1 个答案:

答案 0 :(得分:4)

这应该可以解决问题(假设数组在变量a中):

np.array([row for row in a if len(row)<=3])

我在numpy数组a上使用列表推导,只选择长度为3或更小的元素。