【发布时间】:2016-09-14 06:10:17
【问题描述】:
我有标记的数据,我需要应用单热编码:'786.2'、'ICD-9-CM|786.2'、'ICD-9-CM'、'786.2b|V13.02'、'V13.02'、'279.12'、'ICD-9-CM|V42.81' 是标签。 | 表示文档同时有 2 个标签。所以我写了这样的代码:
labels = np.asarray(label_docs)
labels = np.array([u'786.2', u'ICD-9-CM|786.2', u'|ICD-9-CM', u'786.2b|V13.02', u'V13.02', u'279.12', u'ICD-9-CM|V42.81|'])
df = pd.DataFrame(labels, columns=['label'])
labels = df['label'].str.get_dummies(sep='|')
结果:
279.12 786.2 786.2b ICD-9-CM V13.02 V42.81
0 0 1 0 0 0 0
1 0 1 0 1 0 0
2 0 0 0 1 0 0
3 0 0 1 0 1 0
4 0 0 0 0 1 0
5 1 0 0 0 0 0
6 0 0 0 1 0 1
但是,现在我只希望每个文档有 1 个标签:
'ICD-9-CM|786.2' 是'ICD-9-CM',
'ICD-9-CM|V42.81|' 是'ICD-9-CM'。
我怎么能像这样用get_dummies 分开?
【问题讨论】:
标签: python pandas one-hot-encoding