最快的方法也是填充包含全零的行



填充2d数组中包含不同值的所有零的每一行的最快方法是什么。

仅包含Zero的行。。

我唯一的想法是循环并使用np.all((检查每一行

array([[2, 6, 9, 7, 0],
[0, 0, 0, 0, 0],
[3, 8, 5, 4, 7]])
array([[2, 6, 9, 7, 0],
[1, 1, 1, 1, 1],
[3, 8, 5, 4, 7]])

如果这足够的话:

a = np.array([[2, 6, 9, 7, 0],
[0, 0, 0, 0, 0],
[3, 8, 5, 4, 7]])
a[~a.any(axis=1)] = 1

注意:我使用~np.any(...)而不是np.all(a==0),因为a数组大于allany返回的布尔数组。a==0创建一个2D布尔数组。对any创建的1D布尔数组求反需要较少的工作和内存。

相关内容

  • 没有找到相关文章

最新更新