根据列中的唯一值为多个列创建虚拟对象

Create Dummies for Multiple Columns on Unique Value in a Column

我有一个数据框,如下所述,我有多个 CTI 和 RESOLUTION 类别,目标是为 CTI 和 RESOLUTION 类别以及没有该特定帐户条目的类别创建虚拟变量。

       ACCOUNT  |   CTI       |      RESOLUTION
        59737001    Data:HI         Customer Owned Issue / Customer Equipment
        59737001    Data:HI         Repaired / Replaced Drop Underground
        13847688    Data:OK         Not Repaired

我的预期输出是

    ACCOUNT  |  CTI_Data:HI | CTI_DATA:OK| RESOLUTION_Customer Owned... | RESOLUTION_Repaired/Repla.... | RESOLUTION_Not Repaired
     59737001      1         0                  1                          1                         0

我知道 pd.get_dummies() 适用于获取多个类别的假人,但我的情况不同。 感谢任何帮助

我相信您可以同时使用 pd.get_dummies()df.groupby().any() 来获得它。 groupby().any() 将 return TRUE/FALSE,因此您以转换为 int

结束
df2 = pd.get_dummies(df,columns=['CTI','RESOLUTION']) # df is what you have in your first example. Putting in the columns here restricts dummies to just those columns.
df2.groupby('ACCOUNT').any().astype(int)