假设我有一张看起来像这样的桌子-
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中做到这一点?
您可以使用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)