如何将布尔表有效地转换为一个热向量?

问题描述 投票:1回答:1

假设我有一张看起来像这样的桌子-

Movie        Action      Scifi       Drama          Romance
Abc           True       False       False            False
Def           False      False        True            False
Ghi           False      False       False            True

我想将其转换为一个热向量,这样

Abc - [1   0    0   0]'
Def - [0   0    1   0]'
Ghi - [0   0    0   1]'

已知,只有一列可以为True。

是否有有效的方法可以在python中做到这一点?

python one-hot-encoding
1个回答
0
投票

您可以使用numpy进行此操作。

import numpy as np

Abc = np.array([True,False,False,False])
Def = np.array([False,False,True,False])
Ghi = np.array([False,False,False,True])
movies = np.array([Abc, Def, Ghi])
print("Input:")
print(movies)

#casting from boolean to integer
result  = np.array(movies, dtype=np.int)

print("Output:")
print(result)
© www.soinside.com 2019 - 2024. All rights reserved.