所以我有一个带有一堆吃东西的数据框,其中一些我想变成一个虚拟变量,其中一些我想不理会,我想创建一种懒惰/更快的方法来做到这一点,而不仅仅是输入:
dum_A = pd.get_dummies(df['A'],prefix='A')
dum_B = pd.get_dummies(df['B'],prefix='B')
...
dum_N = pd.get_dummies(df['N'],prefix='N')
所以这是我在下面提出的代码。
List_of_dummy_names = []
List_of_dummy_col = []
for col in list(df1.columns.values):
if len(df1[col].value_counts()) <= 7:
List_of_dummy_names.append('dum_'+col)
List_of_dummy_col.append(col)
for (dummy, col) in zip(List_of_dummy_names, List_of_dummy_col):
dummy = pd.get_dummies(df1[col], prefix=col)
但这只会返回变量 dummy 作为列表中第 n 个特征的虚拟数据帧。我在这里做错了什么?我认为对于每个循环,它都会从列表中获得一个新名称,相反,它看起来每次都将新的虚拟 DF 分配给变量虚拟。
非常感谢你们。