Python:如何使用循环代码为分类变量列表设置虚拟变量

Python: How to Set Dummies for a list of Categorical Variables using Looping Code

假设我有一个要虚拟化的非二进制分类变量列表。

下面是我的数据框中的分类变量列表:评级、来源、类型、状态等。

目前,我正在使用下面的代码手动虚拟化每个变量,并将其添加到如下所示的现有数据框 (df_NumTarget_pred_2) 中。有没有办法不那么手动地做到这一点?

例如,我想遍历列表中的每个变量并自动将其虚拟化,删除原始字段,并将其添加到现有数据框中。

    df_R = pd.get_dummies(df_NumTarget_pred_2['Rating'])

    df_NumTarget_pred_2 = pd.concat([df_NumTarget_pred_2, df_R], axis=1)

    del df_NumTarget_pred_2['Rating']

    df_NumTarget_pred_2.shape

    df_NumTarget_pred_2.head()

非常感谢任何帮助!

get_dummies 可以一次获取多个列的虚拟值,如果需要,可以删除原始列。

df_final = pd.get_dummies(df_NumTarget_pred_2, 
                          columns=['Rating', 'Source', 'Type', 'State'], 
                          drop_first=True)