当前位置:  开发笔记 > 编程语言 > 正文

如何根据条件在`np.array()`中设置单元格值?

如何解决《如何根据条件在`np.array()`中设置单元格值?》经验,为你挑选了0个好方法。

我有一个numpy数组和该数组中的有效值列表:

import numpy as np
arr = np.array([[1,2,0], [2,2,0], [4,1,0], [4,1,0], [3,2,0], ... ])
valid = [1,4]

是否有一种很好的pythonic方法可以将所有数组值设置为零,这些方法不在有效值列表中并就地执行?执行此操作后,列表应如下所示:

               [[1,0,0], [0,0,0], [4,1,0], [4,1,0], [0,0,0], ... ]

以下内容在内存中创建了一个数组副本,这对大型数组不利:

arr = np.vectorize(lambda x: x if x in valid else 0)(arr)

它让我烦恼,现在我遍历每个数组元素并将其设置为零(如果它在valid列表中).

编辑:我找到了一个答案,表明没有就地功能来实现这一目标.也停止改变我的空白.更容易看到arr它们的变化.

推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有