我是Python的新手,我挑战了将字符串数组转换为数字。 我的数据是从更大的数字和字符串数据集中提取的。它看起来像:
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
答案 0 :(得分:0)
您可以使用numpy.vectorize
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]