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)
假设我有一个要虚拟化的非二进制分类变量列表。
下面是我的数据框中的分类变量列表:评级、来源、类型、状态等。
目前,我正在使用下面的代码手动虚拟化每个变量,并将其添加到如下所示的现有数据框 (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)