在Pandas中执行get_dummies时保留其他变量

Keep other variables when executing get_dummies in Pandas

我有一个带有 ID 变量和另一个分类变量的 DataFrame。我想用 get_dummies.

从分类变量中创建虚拟变量
dum = pd.get_dummies(df)

但是,这会使 ID 变量消失。稍后我需要这个 ID 变量来合并到其他数据集。

有没有办法保留其他变量。在 get_dummies 的文档中我找不到任何东西。谢谢!

我找到了答案。您可以将虚拟数据集连接到原始数据集,如下所示。只要您不在此期间对数据重新排序。

df = pd.concat([df, dum], axis=1) 

您也可以在执行get_dummies之前将原始列复制到新列中。例如,

df['dum_orig'] = df['dum']
df = pd.get_dummies(df, columns=['dum'])