2 回答
TA贡献1804条经验 获得超7个赞
让我建议您首先确定哪些分类变量是有序的(订单计数,例如好、非常好、坏等),哪些是名义变量(顺序无关紧要,例如颜色)。对于序数,您可以使用 map 如下:
Category
0 Excellent
1 Excellent
2 Bad
3 Good
4 Bad
5 Very Good
6 Very Bad
df.Category = df.Categoy.map({'Excellent':5, 'Very Good':4,
'Good':3, 'Fair':2, 'Bad':1, 'Very Bad':0})
Category
0 5
1 5
2 1
3 3
4 1
5 4
6 0
对于名义变量,您可以实施虚拟变量方法。示例:假设您的分类变量有两个值“Native”和“Foreign”。您可以创建一个名为“本机”的列,其中 1 表示本机,0 表示外来。可以为多个类别实施。
data = pd.DataFrame({"Origin": ['Native', 'Native', 'Foreign', 'Native', 'Foreign']})
Origin
0 Native
1 Native
2 Foreign
3 Native
4 Foreign
data['Native'] = pd.get_dummies(data['Origin'], drop_first=True)
data.drop("Origin", axis = 1, inplace = True)
这将导致:
Native
0 1
1 1
2 0
3 1
4 0
添加回答
举报