Python numpy将字符串数组转换为整数或布尔值(用于屏蔽)
我是Python新手,我面临将字符串数组转换为数字的挑战。 我的数据是从一组更大的数字和字符串中提取出来的。它看起来像:Python numpy将字符串数组转换为整数或布尔值(用于屏蔽),python,arrays,string,numpy,Python,Arrays,String,Numpy,我是Python新手,我面临将字符串数组转换为数字的挑战。 我的数据是从一组更大的数字和字符串中提取出来的。它看起来像: array([b'Single', b'', b'', b'', b'', b'Single', b'Single', b'', b'Single', ...]) 我想用这个数据来创建一个掩码,基本上,如果“Single”存在,我希望有一个False或0,这样我就可以屏蔽原始数据集。我不知道为什么会有b 我发现类似的问题也得到了回答,但不是字符串到数字或字符串到布尔值,而是
array([b'Single', b'', b'', b'', b'', b'Single', b'Single',
b'', b'Single', ...])
我想用这个数据来创建一个掩码,基本上,如果“Single”存在,我希望有一个False或0,这样我就可以屏蔽原始数据集。我不知道为什么会有b
我发现类似的问题也得到了回答,但不是字符串到数字或字符串到布尔值,而是将“数字字符串”反转或转换为整数
我最接近的解决方案是:
np.where(modMask = 'Single' [False, True])
但是我得到了一个错误:
TypeError Traceback (most recent call last)
<ipython-input-64-4ad8a8f10b9b> in <module>()
----> 1 np.where(modMask = 'Single' [False, True])
TypeError: string indices must be integers
TypeError回溯(最近一次调用)
在()
---->1 np.其中(modMask='Single'[假,真])
TypeError:字符串索引必须是整数
您可以使用
在哪里
你可以用
在哪里
你可以做
bool\u数组=a.astype(object)!='单个“
,例如modMask!=b'Single'
?您可以执行bool\u数组=a.astype(object)!='单个“
,例如modMask!=b‘单身’
?
import numpy as np
def f(x):
return not x == b'Single'
vfunc = np.vectorize(f)
x = np.array([b'Single', b'', b'', b'', b'', b'Single'])
result = vfunc(x)
result = [False True True True True False]