如何使用熊猫参考一个值创建虚拟变量?

value

这给了我

extra_long = pd.concat([long1,long2])
print(extra_long.to_numpy())

我将获得Bronx作为我的参考水平(因为这是掉线的东西),如何更改它以指定曼哈顿应该是我的参考水平?我的预期输出是

test = {'ngrp' : ['Manhattan','Brooklyn','Queens','Staten Island','Bronx']}
test = pd.DataFrame(test)
dummy = pd.get_dummies(test['ngrp'],drop_first = True)
gaoyuanzhiyun 回答:如何使用熊猫参考一个值创建虚拟变量?

get_dummies(按字典顺序)对值进行排序,然后创建虚拟变量。这就是为什么您在初始结果中看不到“布朗克斯”的原因;因为它是列中第一个排序的值,所以它被首先删除。

为避免出现您所看到的行为,请强制执行顺序为“先看”(即,将其转换为有序的类别)。

pd.get_dummies(
    pd.Categorical(test['ngrp'],categories=test['ngrp'].unique(),ordered=True),drop_first=True)                                       

   Brooklyn  Queens  Staten Island  Bronx
0         0       0              0      0
1         1       0              0      0
2         0       1              0      0
3         0       0              1      0
4         0       0              0      1

当然,这样做的副作用是返回带有分类列名的虚拟变量,但这几乎不是问题。

本文链接:https://www.f2er.com/3098391.html

大家都在问