我有一个像这样的2D数组:
[array([71, 35, 44, 0])
array([56, 55, 0])
array([32, 90, 11])
array([ 0, 3, 81, 9, 20])
array([0, 0]) array([0, 0]) array([0, 0]) array([ 5, 89])]
并且我要删除[0, 0]
我尝试
myarray = np.delete(myarray, np.where(myarray == [0, 0]), axis=0)
但它不起作用。
如何删除[0, 0]
?
答案 0 :(得分:3)
对np.array_equal
使用列表理解:
>>> [i for i in arr if not np.array_equal(i, [0,0])]
[array([71, 35, 44, 0]),
array([56, 55, 0]),
array([32, 90, 11]),
array([ 0, 3, 81, 9, 20]),
array([ 5, 89])]
但是,最好不要使用锯齿状的numpy数组,因为numpy在此类数组中表现不佳。
答案 1 :(得分:1)
如果您有numpy数组要删除2d数组的第一行:
插入axis=0
删除行,插入axis=1
删除列
array2d=np.delete(array2d, 0, axis=0)