【发布时间】:2017-08-15 14:58:07
【问题描述】:
我试图了解在使用 get_dummies 后如何处理列。
例如,假设我有三个分类变量。
第一个变量有 2 个级别。
第二个变量有 5 个级别。
第三个变量有 2 个级别。
df=pd.DataFrame({"a":["Yes","Yes","No","No","No","Yes","Yes"], "b":["a","b","c","d","e","a","c"],"c":["1","2","2","1","2","1","1"]})
我为所有三个变量创建了假人,以便在 python 中的sklearn 回归中使用它们。
df1 = pd.get_dummies(df,drop_first=True)
现在我想创建两个交互(乘法): bc , ba
如何在不使用它们的特定名称的情况下创建每个虚拟变量与另一个变量之间的乘法:
df1['a_yes_b'] = df1['a_Yes']*df1['b_b']
df1['a_yes_c'] = df1['a_Yes']*df1['b_c']
df1['a_yes_d'] = df1['a_Yes']*df1['b_d']
df1['a_yes_e'] = df1['a_Yes']*df1['b_e']
df1['c_2_b'] = df1['c_2']*df1['b_b']
df1['c_2_c'] = df1['c_2']*df1['b_c']
df1['c_2_d'] = df1['c_2']*df1['b_d']
df1['c_2_e'] = df1['c_2']*df1['b_e']
谢谢。
【问题讨论】:
标签: python pandas data-science