【发布时间】:2021-08-04 05:05:21
【问题描述】:
我正在使用二进制分类数据集。我想将名义数据转换为数字。我该怎么办?
age | class
------------
1 | no
2 | yes
3 | no
4 | yes
5 | no
6 | no
7 | no
8 | yes
9 | no
10 | y
代码:
mapping = {label:idx for idx,label in enumerate(np.unique(['class']))}
df['class'] = df['class'].map(mapping)
期望的输出:{'no':0 'yes':1}
【问题讨论】:
-
第 10 行中的
y应该是yes还是故意的? -
@meowulf 这是故意的(例如它是嘈杂的数据)
-
df['class'] = df['class'].isin(['yes','y']).astype(int)也应该可以工作
标签: python pandas data-mining enumerate data-preprocessing