Skip to main content
 首页 » 编程设计

python之将双值 numpy 数组屏蔽为 0-1 二进制数组

2025年05月04日14mengfanrong

我有以下 numpy 数组:

array(['NONRBP', 'RBP', 'NONRBP', 'RBP'], dtype=object) 

我想做的是屏蔽上面的数组,给 RBP 赋值 1,给 NONRBP 赋值 0,结果是:

array([0, 1, 0, 1]) 

有什么方法可以做到?

请您参考如下方法:

对于更像 numpy 的解决方案,您可以这样做:

a = array(['NONRBP', 'RBP', 'NONRBP', 'RBP'], dtype=object) 
mask = (a == 'RBP').astype(int) 

您还可以通过以下方式进行操作:

a[:] = (a == 'RBP').astype(int)