如何让pandas get_dummies发出N-1个变量以避免共线性?

iha*_*nny 19 python machine-learning pandas dummy-variable

pandas.get_dummies每个分类值发出一个虚拟变量.是否有一些自动,简单的方法要求它只创建N-1虚拟变量?(只是随意摆脱一个"基线"变量)?

需要避免我们的数据集中的共线性.

T.C*_*tor 28

Pandas版本0.18.0实现了您正在寻找的东西:drop_first选项.这是一个例子:

In [1]: import pandas as pd

In [2]: pd.__version__
Out[2]: u'0.18.1'

In [3]: s = pd.Series(list('abcbacb'))

In [4]: pd.get_dummies(s, drop_first=True)
Out[4]: 
     b    c
0  0.0  0.0
1  1.0  0.0
2  0.0  1.0
3  1.0  0.0
4  0.0  0.0
5  0.0  1.0
6  1.0  0.0
Run Code Online (Sandbox Code Playgroud)