python - 如何有效地将 bool 表转换为热向量?

标签 python one-hot-encoding

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

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)

关于python - 如何有效地将 bool 表转换为热向量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59458163/

相关文章:

python - 如何提高python Dataframe中以下代码的性能,如果可能,请提及复杂性的顺序:

python-3.x - 使用分类数据集 : how to deal with different values (less number) in categorical data 进行 One-hot 编码

Python如何在使用one-hot-encode/pd.get_dummies后反转实际值

python - 在 Spyder 编辑器 (Windows) 上的 Anaconda 中安装 QuantLib

python - 应用于空字段时出现 OneHotEncoding 错误

python - 火车验证和测试集中的一种热编码(生产数据)

python - 带分数的复数

python - Project Euler 22 - 得到错误的数字

python - 如何在没有邮件模板 odoo 9 的情况下发送电子邮件

python - 让机器人加入 vc 并播放音乐