【发布时间】:2019-05-01 08:44:53
【问题描述】:
我有一个包含一个句子的列表,我想对每个单词中的一个完整句子执行一次热编码,
例如,
sentences = [
"python, java",
"linux, windows, ubuntu",
"java, linux, ubuntu, windows",
"performance, python, mac"
]
我想要这样的输出,
java linux mac performance python ubuntu windows
0 1 0 0 0 1 0 0
1 0 1 0 0 0 1 1
2 1 1 0 0 0 1 1
3 0 0 1 1 1 0 0
我的尝试,
我试图将我的句子转换成系列然后执行get_dummies,但我得到的是每个单词而不是句子。
print pd.get_dummies(pd.Series(sum([tag.split(', ') for tag in sentences],[])))
O/P
java linux mac performance python ubuntu windows
0 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0
2 0 1 0 0 0 0 0
3 0 0 0 0 0 0 1
4 0 0 0 0 0 1 0
5 1 0 0 0 0 0 0
6 0 1 0 0 0 0 0
7 0 0 0 0 0 1 0
8 0 0 0 0 0 0 1
9 0 0 0 1 0 0 0
10 0 0 0 0 1 0 0
11 0 0 1 0 0 0 0
如何解决?
【问题讨论】: