我正在尝试使用numpy.where从数组中删除[0,0,0]元素。测试数组只有一个[0,0,0]元素放置在第一个位置。它的形状为(800,3),因此选择后应为(799,3)(重塑后)或(2397,)。但是,结果数组为(2937,)。
我的代码:
if (
$expr1 &&
$expr2
) {
// if body
}
这是某种错误吗?
PD:如果有用,则dtype ='uint8'。
答案 0 :(得分:2)
您正在检查所有列中的所有元素,因此需要沿第一个轴使用all
来查找不是全部0
的行:
(arr != 0).all(1)
>>> np.where((arr != 0).all(1))[0].shape
(799,)