多列预测因子的相互作用

2024-06-08 13:44:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个预测因子“Sex”和“Class”,它们被转换成二进制虚拟变量,比如:

    female  male
 0    0      1
 1    1      0
 2    1      0
 3    1      0
...  ...    ...

以及

    class1  class2  class3
 0     0       0       1
 1     1       0       0
 2     0       1       0
 3     0       0       1
...   ...     ...     ...

我想得到他们的互动,如下面所述(列的顺序并不重要):

     female1  male1  female2  male2  female3  male3
 0     0       0       0        0       0       1
 1     1       0       0        0       0       0
 2     0       0       1        0       0       0
 3     0       0       0        0       0       1
...   ...     ...     ...      ...     ...     ...

有没有什么有效的方法(或方法)来做到这一点,而不是为每一列循环它


Tags: 方法顺序二进制malefemale因子classclass1
1条回答
网友
1楼 · 发布于 2024-06-08 13:44:21

您可以使用^{}+^{}

new_df = pd.concat([df_sex.mul(col,axis='rows').add_suffix(name[-1]) 
                    for name,col in df_class.items()],axis=1)
print(new_df)
   female1  male1  female2  male2  female3  male3
0        0      0        0      0        0      1
1        1      0        0      0        0      0
2        0      0        1      0        0      0
3        0      0        0      0        1      0   

相关问题 更多 >