我有一个二维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的行。"
答案 0 :(得分:4)
这应该可以解决问题(假设数组在变量a中):
np.array([row for row in a if len(row)<=3])
我在numpy数组a上使用列表推导,只选择长度为3或更小的元素。