给定一个词汇表 ["NY", "LA", "GA"]
,如何对其进行编码,使其变为:
"NY" = 100"LA" = 010"GA" = 001
这样,如果我查找 "NY GA"
,我会得到 101
回答:
你可以使用 numpy.in1d
:
>>> xs = np.array(["NY", "LA", "GA"])>>> ''.join('1' if f else '0' for f in np.in1d(xs, 'NY GA'.split(' ')))'101'
或者:
>>> ''.join(np.where(np.in1d(xs, 'NY GA'.split(' ')), '1', '0'))'101'